summaryrefslogtreecommitdiff
path: root/nuttx/configs/ne64badge/src/up_leds.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/configs/ne64badge/src/up_leds.c')
-rwxr-xr-xnuttx/configs/ne64badge/src/up_leds.c56
1 files changed, 53 insertions, 3 deletions
diff --git a/nuttx/configs/ne64badge/src/up_leds.c b/nuttx/configs/ne64badge/src/up_leds.c
index 3a0bda836..e6660b0c0 100755
--- a/nuttx/configs/ne64badge/src/up_leds.c
+++ b/nuttx/configs/ne64badge/src/up_leds.c
@@ -46,6 +46,8 @@
#include "ne64badge_internal.h"
+#ifdef CONFIG_ARCH_LEDS
+
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
@@ -54,16 +56,30 @@
* CONFIG_DEBUG_VERBOSE too)
*/
-#undef LED_DEBUG /* Define to enable debug */
+#undef LED_DEBUG /* Define to enable debug */
+#undef LED_VERBOSE /* Define to enable verbose debug */
#ifdef LED_DEBUG
# define leddbg lldbg
-# define ledvdbg llvdbg
+# ifdef LED_VERBOSE
+# define ledvdbg lldbg
+# else
+# define ledvdbg(x...)
+# endif
#else
+# undef LED_VERBOSE
# define leddbg(x...)
# define ledvdbg(x...)
#endif
+/* Dump GPIO registers */
+
+#ifdef LED_VERBOSE
+# define led_dumpgpio(m) m9s12_dumpgpio(m)
+#else
+# define led_dumpgpio(m)
+#endif
+
/****************************************************************************
* Private Data
****************************************************************************/
@@ -84,9 +100,16 @@
*
****************************************************************************/
-#ifdef CONFIG_ARCH_LEDS
void up_ledinit(void)
{
+ /* Configure all LED GPIO lines */
+
+ led_dumpgpio("up_ledinit() Entry)");
+
+ hcs12_configgpio(NE64BADGE_LED1);
+ hcs12_configgpio(NE64BADGE_LED2);
+
+ led_dumpgpio("up_ledinit() Exit");
}
/****************************************************************************
@@ -95,6 +118,23 @@ void up_ledinit(void)
void up_ledon(int led)
{
+ switch (led)
+ {
+ default:
+ case 0 : /* STARTED, HEAPALLOCATE, IRQSENABLED */
+ hcs12_gpiowrite(NE64BADGE_LED1, true);
+ hcs12_gpiowrite(NE64BADGE_LED2, true);
+ break;
+
+ case 1 : /* STACKCREATED */
+ hcs12_gpiowrite(NE64BADGE_LED1, false);
+ hcs12_gpiowrite(NE64BADGE_LED2, true);
+ break;
+
+ case 2 : /* INIRQ, SIGNAL, ASSERTION, PANIC */
+ hcs12_gpiowrite(NE64BADGE_LED2, false);
+ break;
+ }
}
/****************************************************************************
@@ -103,6 +143,16 @@ void up_ledon(int led)
void up_ledoff(int led)
{
+ switch (led)
+ {
+ default:
+ case 0 : /* STARTED, HEAPALLOCATE, IRQSENABLED */
+ case 1 : /* STACKCREATED */
+ hcs12_gpiowrite(NE64BADGE_LED1, true);
+ case 2 : /* INIRQ, SIGNAL, ASSERTION, PANIC */
+ hcs12_gpiowrite(NE64BADGE_LED2, true);
+ break;
+ }
}
#endif /* CONFIG_ARCH_LEDS */