altos: Add support for STM ADC
[fw/altos] / src / stm / ao_arch.h
index 61e62f5dc703b3bcec1877c31b188ccf9adef475..ce3a22e262e6ce8c7a7c330c3aa66b732b9b4620 100644 (file)
@@ -27,6 +27,8 @@
 
 #define AO_STACK_SIZE  1024
 
+#define AO_LED_TYPE    uint16_t
+
 /* Various definitions to make GCC look more like SDCC */
 
 #define ao_arch_naked_declare  __attribute__((naked))
@@ -143,13 +145,6 @@ extern const uint16_t ao_serial_number;
 
 #define ao_arch_critical(b) do { cli(); do { b } while (0); sei(); } while (0)
 
-#define AO_ARM_NUM_ADC 12
-
-struct ao_adc {
-       uint16_t        tick;                   /* tick when the sample was read */
-       uint16_t        adc[AO_ARM_NUM_ADC];    /* samples */
-};
-
 /*
  * For now, we're running at a weird frequency
  */
@@ -161,5 +156,48 @@ void ao_lcd_font_init(void);
 
 void ao_lcd_font_string(char *s);
 
+#define USE_SERIAL_STDIN       (USE_SERIAL_1_STDIN + USE_SERIAL_2_STDIN + USE_SERIAL_3_STDIN)
+
+char
+ao_serial1_getchar(void);
+
+void
+ao_serial1_putchar(char c);
+
+char
+ao_serial1_pollchar(void);
+
+void
+ao_serial1_set_speed(uint8_t speed);
+
+char
+ao_serial2_getchar(void);
+
+void
+ao_serial2_putchar(char c);
+
+char
+ao_serial2_pollchar(void);
+
+void
+ao_serial2_set_speed(uint8_t speed);
+
+char
+ao_serial3_getchar(void);
+
+void
+ao_serial3_putchar(char c);
+
+char
+ao_serial3_pollchar(void);
+
+void
+ao_serial3_set_speed(uint8_t speed);
+
+extern uint32_t        ao_radio_cal;
+
+void
+ao_adc_init();
+
 #endif /* _AO_ARCH_H_ */