diff options
author | Keith Packard <keithp@keithp.com> | 2009-04-25 13:16:27 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-04-25 13:16:27 -0700 |
commit | 45976af820fc41099928df71ea8304c56eb9fc7c (patch) | |
tree | 9c69ee467ebdcd7b120c829244025a4e52b31785 /ao_led.c | |
parent | 4a050704ad2c497e9f1b0988334228b0bbc4c170 (diff) |
Make LED usage depend on target device
Diffstat (limited to 'ao_led.c')
-rw-r--r-- | ao_led.c | 25 |
1 files changed, 18 insertions, 7 deletions
@@ -17,22 +17,32 @@ #include "ao.h" +#define AO_LED_ALL (AO_LED_GREEN|AO_LED_RED) + +__pdata uint8_t ao_led_enable; + void ao_led_on(uint8_t colors) { - P1 |= colors; + P1 |= (colors & ao_led_enable); } void ao_led_off(uint8_t colors) { - P1 &= ~colors; + P1 &= ~(colors & ao_led_enable); } void ao_led_set(uint8_t colors) { - P1 = (P1 & ~3) | colors; + P1 = (P1 & ~(ao_led_enable)) | (colors & ao_led_enable); +} + +void +ao_led_toggle(uint8_t colors) +{ + P1 ^= (colors & ao_led_enable); } void @@ -44,9 +54,10 @@ ao_led_for(uint8_t colors, uint16_t ticks) __reentrant } void -ao_led_init(void) +ao_led_init(uint8_t enable) { - P1SEL &= ~3; - P1 &= ~3; - P1DIR |= 3; + ao_led_enable = enable; + P1SEL &= ~enable; + P1 &= ~enable; + P1DIR |= enable; } |