Allow for more than 8 LEDs
[fw/altos] / src / core / ao.h
index ce9a1f70e0ce4ff39673cb2eef6ea395730d023d..c9f17dc00b36e7f6f7413f07df7664d86788d60e 100644 (file)
@@ -113,6 +113,7 @@ ao_start_scheduler(void);
 #define AO_PANIC_FLASH         9       /* Invalid flash part (or wrong blocksize) */
 #define AO_PANIC_USB           10      /* Trying to send USB packet while busy */
 #define AO_PANIC_BT            11      /* Communications with bluetooth device failed */
+#define AO_PANIC_STACK         12      /* Stack overflow */
 
 /* Stop the operating system, beeping and blinking the reason */
 void
@@ -257,29 +258,33 @@ ao_beep_init(void);
 
 #define AO_LED_NONE    0
 
+#ifndef AO_LED_TYPE
+#define AO_LED_TYPE uint8_t
+#endif
+
 /* Turn on the specified LEDs */
 void
-ao_led_on(uint8_t colors);
+ao_led_on(AO_LED_TYPE colors);
 
 /* Turn off the specified LEDs */
 void
-ao_led_off(uint8_t colors);
+ao_led_off(AO_LED_TYPE colors);
 
 /* Set all of the LEDs to the specified state */
 void
-ao_led_set(uint8_t colors);
+ao_led_set(AO_LED_TYPE colors);
 
 /* Toggle the specified LEDs */
 void
-ao_led_toggle(uint8_t colors);
+ao_led_toggle(AO_LED_TYPE colors);
 
 /* Turn on the specified LEDs for the indicated interval */
 void
-ao_led_for(uint8_t colors, uint16_t ticks) __reentrant;
+ao_led_for(AO_LED_TYPE colors, uint16_t ticks) __reentrant;
 
 /* Initialize the LEDs */
 void
-ao_led_init(uint8_t enable);
+ao_led_init(AO_LED_TYPE enable);
 
 /*
  * ao_usb.c
@@ -898,7 +903,7 @@ ao_dbg_init(void);
 #error Please define HAS_SERIAL_1
 #endif
 
-#if HAS_SERIAL_1
+#if HAS_SERIAL_1 | HAS_SERIAL_2 | HAS_SERIAL_3
 #ifndef USE_SERIAL_STDIN
 #error Please define USE_SERIAL_STDIN
 #endif
@@ -917,7 +922,7 @@ char
 ao_serial_pollchar(void) __critical;
 
 void
-ao_serial_set_stdin(uint8_t stdin);
+ao_serial_set_stdin(uint8_t in);
 #endif
 
 void