From 469bd376d84bf8d76faa3b726d96061d4d98b998 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 9 Mar 2014 20:59:43 -0700 Subject: [PATCH] altos: Fix LPC LED driver Was using wrong types Signed-off-by: Keith Packard --- src/lpc/ao_arch.h | 4 ++-- src/lpc/ao_led_lpc.c | 20 +++++++++----------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/lpc/ao_arch.h b/src/lpc/ao_arch.h index d04bf2c8..9dcfadc0 100644 --- a/src/lpc/ao_arch.h +++ b/src/lpc/ao_arch.h @@ -28,10 +28,10 @@ #define AO_STACK_SIZE 512 #endif -#define AO_LED_TYPE uint16_t - #define AO_PORT_TYPE uint32_t +#define AO_LED_TYPE AO_PORT_TYPE + #ifndef AO_TICK_TYPE #define AO_TICK_TYPE uint16_t #define AO_TICK_SIGNED int16_t diff --git a/src/lpc/ao_led_lpc.c b/src/lpc/ao_led_lpc.c index 7bef51ba..d983437c 100644 --- a/src/lpc/ao_led_lpc.c +++ b/src/lpc/ao_led_lpc.c @@ -17,38 +17,38 @@ #include -__pdata uint16_t ao_led_enable; +__pdata AO_PORT_TYPE ao_led_enable; void -ao_led_on(uint16_t colors) +ao_led_on(AO_PORT_TYPE colors) { lpc_gpio.pin[LED_PORT] |= colors; } void -ao_led_off(uint16_t colors) +ao_led_off(AO_PORT_TYPE colors) { lpc_gpio.pin[LED_PORT] &= ~colors; } void -ao_led_set(uint16_t colors) +ao_led_set(AO_PORT_TYPE colors) { - uint16_t on = colors & ao_led_enable; - uint16_t off = ~colors & ao_led_enable; + AO_PORT_TYPE on = colors & ao_led_enable; + AO_PORT_TYPE off = ~colors & ao_led_enable; ao_led_off(off); ao_led_on(on); } void -ao_led_toggle(uint16_t colors) +ao_led_toggle(AO_PORT_TYPE colors) { lpc_gpio.pin[LED_PORT] ^= colors; } void -ao_led_for(uint16_t colors, uint16_t ticks) __reentrant +ao_led_for(AO_PORT_TYPE colors, uint16_t ticks) __reentrant { ao_led_on(colors); ao_delay(ticks); @@ -56,10 +56,8 @@ ao_led_for(uint16_t colors, uint16_t ticks) __reentrant } void -ao_led_init(uint16_t enable) +ao_led_init(AO_PORT_TYPE enable) { - int bit; - ao_led_enable = enable; lpc_scb.sysahbclkctrl |= (1 << LPC_SCB_SYSAHBCLKCTRL_GPIO); lpc_gpio.dir[LED_PORT] |= enable; -- 2.30.2