summaryrefslogtreecommitdiff
path: root/firmware/led.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/led.c')
-rw-r--r--firmware/led.c34
1 files changed, 17 insertions, 17 deletions
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 @@
22#include <led.h> 22#include <led.h>
23 23
24#define turn_on() \ 24#define turn_on() \
25 set_bit (LEDB,PBDR+1) 25 set_bit (LEDB,PBDR_ADDR+1)
26 26
27#define turn_off() \ 27#define turn_off() \
28 clear_bit (LEDB,PBDR+1) 28 clear_bit (LEDB,PBDR_ADDR+1)
29 29
30#define start_timer() \ 30#define start_timer() \
31 set_bit (2,ITUTSTR) 31 set_bit (2,TSTR_ADDR)
32 32
33#define stop_timer() \ 33#define stop_timer() \
34 clear_bit (2,ITUTSTR) 34 clear_bit (2,TSTR_ADDR)
35 35
36#define eoi(subinterrupt) \ 36#define eoi(subinterrupt) \
37 clear_bit (subinterrupt,ITUTSR2) 37 clear_bit (subinterrupt,TSR2_ADDR)
38 38
39#define set_volume(volume) \ 39#define set_volume(volume) \
40 HI(ITUGRA2) = volume & 0x7FFF 40 GRA2 = volume & 0x7FFF
41 41
42 42
43void led_set_volume (unsigned short volume) 43void led_set_volume (unsigned short volume)
44 { 44{
45 volume <<= 10; 45 volume <<= 10;
46 if (volume == 0) 46 if (volume == 0)
47 led_turn_off (); 47 led_turn_off ();
48 else if (volume == 0x8000) 48 else if (volume == 0x8000)
49 led_turn_on (); 49 led_turn_on ();
50 else 50 else
51 { 51 {
52 set_volume (volume); 52 set_volume (volume);
53 start_timer (); 53 start_timer ();
54 } 54 }
55 } 55}
56 56
57#pragma interrupt 57#pragma interrupt
58void IMIA2 (void) 58void IMIA2 (void)
59 { 59{
60 turn_off (); 60 turn_off ();
61 eoi (0); 61 eoi (0);
62 } 62}
63 63
64#pragma interrupt 64#pragma interrupt
65void OVI2 (void) 65void OVI2 (void)
66 { 66{
67 turn_on (); 67 turn_on ();
68 eoi (2); 68 eoi (2);
69 } 69}
70 70