altos: Change default time type to 32-bits
[fw/altos] / src / attiny / ao_arch.h
index 52bed981a9eaaa202080b09d2da48813218b393d..5550eb447e101f3fa724120bf634053ca1b28540 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
 
 #define AO_STACK_SIZE  116
 
+#define AO_PORT_TYPE   uint8_t
+
+#define AO_LED_TYPE    uint8_t
+
+#ifndef AO_TICK_TYPE
+#define AO_TICK_TYPE   uint16_t
+#define AO_TICK_SIGNED int16_t
+#endif
+
 /* Various definitions to make GCC look more like SDCC */
 
 #define ao_arch_naked_declare  __attribute__((naked))
 #define ao_arch_naked_define
-#define __pdata
-#define __data
-#define __xdata
-#define __code const
-#define __reentrant
-#define __critical
 #define __interrupt(n)
 #define __at(n)
 
 
 #define ao_arch_interrupt(n)   /* nothing */
 
+#define AO_ROMCONFIG_SYMBOL __attribute__((section(".romconfig"))) const
+
 #undef putchar
 #undef getchar
 #define putchar(c)     ao_putchar(c)
 #define getchar                ao_getchar
 
-#define ao_arch_cpu_idle() do {                        \
+#define ao_arch_wait_interrupt() do {          \
                sleep_enable();                 \
                sei();                          \
                sleep_cpu();                    \
@@ -82,4 +88,7 @@ ao_eeprom_read(uint16_t addr, void *buf, uint16_t len);
 void
 ao_eeprom_write(uint16_t addr, void *buf, uint16_t len);
 
+uint16_t
+ao_adc_read(uint8_t mux);
+
 #endif /* _AO_ARCH_H_ */