telescience: steal last adc channel for icp3 most recent value
[fw/altos] / src / avr / ao_arch.h
index 2be4abeece26db527dd25b6ccbd9193d139e7b2b..a14d0adecc6d7fc3d0cb3d5e0965768c15eb4818 100644 (file)
@@ -37,7 +37,7 @@
  * AVR definitions and code fragments for AltOS
  */
 
-#define AO_STACK_SIZE  128
+#define AO_STACK_SIZE  116
 
 /* Various definitions to make GCC look more like SDCC */
 
@@ -67,7 +67,11 @@ extern void putchar(char c);
 extern char getchar(void);
 extern void ao_avr_stdio_init(void);
 
-extern const uint16_t ao_serial_number;
+#define AO_ROMCONFIG_VERSION   2
+
+#define AO_ROMCONFIG_SYMBOL(a) const
+
+extern AO_ROMCONFIG_SYMBOL(0) uint16_t ao_serial_number;
 
 #define AVR_PUSH8(stack, val)  (*((stack)--) = (val))
 
@@ -105,7 +109,6 @@ extern uint8_t      ao_cpu_sleep_disable;
                asm("push r14" "\n\t" "push r13" "\n\t" "push r12" "\n\t" "push r11" "\n\t" "push r10"); \
                asm("push r9" "\n\t" "push r8" "\n\t" "push r7" "\n\t" "push r6" "\n\t" "push r5"); \
                asm("push r4" "\n\t" "push r3" "\n\t" "push r2" "\n\t" "push r1" "\n\t" "push r0"); \
-               cli();                                                  \
                asm("in r0, __SREG__" "\n\t" "push r0");                \
                sei();                                                  \
        } while (0)
@@ -147,12 +150,5 @@ extern uint8_t     ao_cpu_sleep_disable;
 
 #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_ */