diff --git a/firmware/led.c b/firmware/led.c index 488964bcb9..d01c9de612 100644 --- a/firmware/led.c +++ b/firmware/led.c @@ -22,49 +22,49 @@ #include #define turn_on() \ - set_bit (LEDB,PBDR+1) + set_bit (LEDB,PBDR_ADDR+1) #define turn_off() \ - clear_bit (LEDB,PBDR+1) + clear_bit (LEDB,PBDR_ADDR+1) #define start_timer() \ - set_bit (2,ITUTSTR) + set_bit (2,TSTR_ADDR) #define stop_timer() \ - clear_bit (2,ITUTSTR) + clear_bit (2,TSTR_ADDR) #define eoi(subinterrupt) \ - clear_bit (subinterrupt,ITUTSR2) + clear_bit (subinterrupt,TSR2_ADDR) #define set_volume(volume) \ - HI(ITUGRA2) = volume & 0x7FFF + GRA2 = volume & 0x7FFF void led_set_volume (unsigned short volume) - { +{ volume <<= 10; if (volume == 0) - led_turn_off (); + led_turn_off (); else if (volume == 0x8000) - led_turn_on (); + led_turn_on (); else - { - set_volume (volume); + { + set_volume (volume); start_timer (); - } - } + } +} #pragma interrupt void IMIA2 (void) - { +{ turn_off (); eoi (0); - } +} #pragma interrupt void OVI2 (void) - { +{ turn_on (); eoi (2); - } +} diff --git a/firmware/led.h b/firmware/led.h index 0c43a70e74..955c59aa81 100644 --- a/firmware/led.h +++ b/firmware/led.h @@ -26,21 +26,21 @@ #define LEDB 6 /* PB6 : red LED */ static inline void led_turn_off (void) - { +{ clear_bit (LEDB,PBDR+1); - clear_bit (2,ITUTSTR); - } + clear_bit (2,TSTR_ADDR); +} static inline void led_turn_on (void) - { +{ set_bit (LEDB,PBDR+1); - set_bit (2,ITUTSTR); - } + set_bit (2,TSTR_ADDR); +} static inline void led_toggle (void) - { +{ toggle_bit (LEDB,PBDR+1); - } +} extern void led_set_volume (unsigned short volume); extern void led_setup (void); diff --git a/firmware/serial.c b/firmware/serial.c index f9708f98cf..217f23eb6f 100644 --- a/firmware/serial.c +++ b/firmware/serial.c @@ -31,54 +31,52 @@ static int serial_byte,serial_flag; void serial_putc (char byte) - { - static int i = 0; - while (!(QI(SCISSR1) & (1< -#define KB *1024 -#define MB *1024 KB -#define GB *1024 MB - -#define Hz *1 -#define KHz *1000 Hz -#define MHz *1000 KHz - -#define ns *1 -#define us *1000 ns -#define ms *1000 us - /* * 11.059,200 MHz => 90.4224537037037037037037037037037... ns * 12.000,000 MHz => 83.3333333333333333333333333333333... ns */ -#define PHI ((int)(12.000000 MHz)) +#define FREQ 12000000 #define BAUDRATE 9600 //#define PHI ((int)(11.059200 MHz)) //#define BAUDRATE 115200 /* 115200 - 9600 */ -#define SI(a) \ - (*((volatile int *)a)) /* single integer access - 32-bit */ -#define HI(a) \ - (*((volatile short *)a)) /* half integer access - 16-bit */ -#define QI(a) \ - (*((volatile char *)a)) /* quarter integer access - 8-bit */ - #define nop \ asm volatile ("nop")