#define AO_PANIC_REBOOT 8 /* Reboot failed */
#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 */
/* Stop the operating system, beeping and blinking the reason */
void
void
ao_cmd_init(void);
+#if HAS_CMD_FILTER
+/*
+ * Provided by an external module to filter raw command lines
+ */
+uint8_t
+ao_cmd_filter(void);
+#endif
+
/*
* ao_dma.c
*/
void
ao_serial_putchar(char c) __critical;
+void
+ao_serial_drain(void) __critical;
+
#define AO_SERIAL_SPEED_4800 0
#define AO_SERIAL_SPEED_9600 1
#define AO_SERIAL_SPEED_19200 2
char (*pollchar)(void);
void (*putchar)(char c) __reentrant;
void (*flush)(void);
+ uint8_t echo;
};
+extern __xdata struct ao_stdio ao_stdios[];
extern __data int8_t ao_cur_stdio;
extern __data int8_t ao_num_stdios;
extern __xdata uint8_t ao_stdin_ready;
+uint8_t
+ao_echo(void);
+
void
ao_add_stdio(char (*pollchar)(void),
void (*putchar)(char) __reentrant,
/* ao_btm.c */
+/* Shared by USB, so the USB code calls this function */
+void
+ao_btm_isr(void);
+
void
ao_btm_init(void);