/* * spreadspace avr utils * * * Copyright (C) 2013 Christian Pointner * Othmar Gsenger * * This file is part of spreadspace avr utils. * * spreadspace avr utils is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * spreadspace avr utils is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with spreadspace avr utils. If not, see . */ #include #include #include "ledmatrix.h" #define LEDMATRIX_PORT PORTB #define LEDMATRIX_DDR DDRB #define LEDMATRIX_RED 6 #define LEDMATRIX_GREEN 7 #define LEDMATRIX_NUM_LEDS 6 #define LEDMATRIX_MASK 0x3F ledmatrix_mode_t mode = off; uint8_t moving_cnt = 0; void ledmatrix_start_timer(void) { TCCR3A = 0; // prescaler 1:1024, WGM = 4 (CTC) TCCR3B = 1< ~100 ms @ 16 MHz TCNT3 = 0; TIMSK3 = 1<= LEDMATRIX_NUM_LEDS) moving_cnt = 0; LEDMATRIX_PORT = (LEDMATRIX_PORT & ~LEDMATRIX_MASK) | (LEDMATRIX_MASK & (1<= LEDMATRIX_NUM_LEDS) moving_cnt = LEDMATRIX_NUM_LEDS-1; LEDMATRIX_PORT = (LEDMATRIX_PORT & ~LEDMATRIX_MASK) | (LEDMATRIX_MASK & (1<