From: Keith Packard Date: Sat, 27 Feb 2010 23:14:04 +0000 (-0800) Subject: Fix up LED colors for each product. X-Git-Tag: debian/0.6+106+ga1478f6~3 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=7aab73a265841aac817ea34235dd1eb819debf76 Fix up LED colors for each product. Different products assign different color LEDs to the two available LED drivers (P1_0, P1_1). Make the LED color pin assignments per-product (in ao_pins.h), then deal with not always having a green LED. Signed-off-by: Keith Packard --- diff --git a/src/ao.h b/src/ao.h index b43f5ecd..aefefa46 100644 --- a/src/ao.h +++ b/src/ao.h @@ -263,8 +263,6 @@ ao_beep_init(void); */ #define AO_LED_NONE 0 -#define AO_LED_GREEN 1 -#define AO_LED_RED 2 /* Turn on the specified LEDs */ void diff --git a/src/ao_led.c b/src/ao_led.c index 6c698b4b..5beed58d 100644 --- a/src/ao_led.c +++ b/src/ao_led.c @@ -17,8 +17,6 @@ #include "ao.h" -#define AO_LED_ALL (AO_LED_GREEN|AO_LED_RED) - __pdata uint8_t ao_led_enable; void diff --git a/src/ao_packet.c b/src/ao_packet.c index dcd1647c..d52f2a68 100644 --- a/src/ao_packet.c +++ b/src/ao_packet.c @@ -67,7 +67,9 @@ ao_packet_recv(void) { uint8_t dma_done; +#ifdef AO_LED_GREEN ao_led_on(AO_LED_GREEN); +#endif ao_radio_get(); ao_dma_set_transfer(ao_radio_dma, &RFDXADDR, @@ -86,7 +88,9 @@ ao_packet_recv(void) ao_radio_abort(); dma_done = ao_radio_dma_done; ao_radio_put(); +#ifdef AO_LED_GREEN ao_led_off(AO_LED_GREEN); +#endif if (dma_done & AO_DMA_DONE) { if (!(ao_rx_packet.status & PKT_APPEND_STATUS_1_CRC_OK)) diff --git a/src/ao_pins.h b/src/ao_pins.h index 84d8a1a1..771d9c7f 100644 --- a/src/ao_pins.h +++ b/src/ao_pins.h @@ -28,6 +28,7 @@ #define PACKET_HAS_MASTER 0 #define PACKET_HAS_SLAVE 1 + #define AO_LED_RED 1 #define LEDS_AVAILABLE (AO_LED_RED) #define HAS_EXTERNAL_TEMP 0 #endif @@ -41,7 +42,9 @@ #define DBG_ON_P0 0 #define PACKET_HAS_MASTER 1 #define PACKET_HAS_SLAVE 0 - #define LEDS_AVAILABLE (AO_LED_RED) + #define AO_LED_RED 1 + #define AO_LED_GREEN 2 + #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN) #endif #if defined(TELEMETRUM_V_0_1) @@ -53,6 +56,8 @@ #define DBG_ON_P0 1 #define PACKET_HAS_MASTER 0 #define PACKET_HAS_SLAVE 1 + #define AO_LED_RED 2 + #define AO_LED_GREEN 1 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN) #define HAS_EXTERNAL_TEMP 1 #endif @@ -66,6 +71,8 @@ #define DBG_ON_P0 1 #define PACKET_HAS_MASTER 1 #define PACKET_HAS_SLAVE 0 + #define AO_LED_RED 2 + #define AO_LED_GREEN 1 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN) #endif @@ -78,6 +85,7 @@ #define DBG_ON_P0 1 #define PACKET_HAS_MASTER 1 #define PACKET_HAS_SLAVE 0 + #define AO_LED_RED 2 #define LEDS_AVAILABLE (AO_LED_RED) #endif diff --git a/src/ao_teledongle.c b/src/ao_teledongle.c index b07b1746..505dc0cb 100644 --- a/src/ao_teledongle.c +++ b/src/ao_teledongle.c @@ -23,7 +23,7 @@ main(void) ao_clock_init(); /* Turn on the LED until the system is stable */ - ao_led_init(AO_LED_RED|AO_LED_GREEN); + ao_led_init(LEDS_AVAILABLE); ao_led_on(AO_LED_RED); ao_timer_init(); ao_cmd_init();