altos: Add delays to bt startup sequence
[fw/altos] / src / ao.h
index b92e623f040fb06741ada8978a544cede17c4d12..dad1f3dfba3b3a1ec748dd8ff51d574c104fbc8b 100644 (file)
--- a/src/ao.h
+++ b/src/ao.h
@@ -107,6 +107,7 @@ ao_start_scheduler(void);
 #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
@@ -1178,8 +1179,10 @@ struct ao_stdio {
        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;
 
@@ -1188,6 +1191,9 @@ flush(void);
 
 extern __xdata uint8_t ao_stdin_ready;
 
+uint8_t
+ao_echo(void);
+
 void
 ao_add_stdio(char (*pollchar)(void),
             void (*putchar)(char) __reentrant,
@@ -1361,6 +1367,10 @@ ao_packet_slave_init(uint8_t enable);
 
 /* ao_btm.c */
 
+/* Shared by USB, so the USB code calls this function */
+void
+ao_btm_isr(void);
+
 void
 ao_btm_init(void);