altos/avr: Make ao_arch_critical argument be a statement
[fw/altos] / src / avr / ao_arch.h
index 0ed97361bb34da7b8be023b91b28b8f6c0b80ad2..2be4abeece26db527dd25b6ccbd9193d139e7b2b 100644 (file)
@@ -143,7 +143,16 @@ extern uint8_t     ao_cpu_sleep_disable;
                asm("ret");                                             \
        } while(0)
 
-#define ao_arch_critical(b) do { cli(); b; sei(); } while (0)
+#define ao_arch_critical(b) do { cli(); do { b } while (0); sei(); } while (0)
+
+#define AO_TELESCIENCE_NUM_ADC 12
+
+struct ao_adc {
+       uint16_t        tick;           /* tick when the sample was read */
+       uint16_t        adc[AO_TELESCIENCE_NUM_ADC];    /* samples */
+};
+
+#define AO_ADC_RING    16
 
 #endif /* _AO_ARCH_H_ */