X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fattiny%2Fao_arch.h;h=1a2bd34be251472563faeaf1e206da07f525cd9d;hb=0e068689f41b74c883615f9f11a322a962cbb792;hp=6ca12af65836904ccbc9a05c1937e1347c054715;hpb=f2e5ffd839fe5be99359e4c86a96f03148bac698;p=fw%2Faltos diff --git a/src/attiny/ao_arch.h b/src/attiny/ao_arch.h index 6ca12af6..1a2bd34b 100644 --- a/src/attiny/ao_arch.h +++ b/src/attiny/ao_arch.h @@ -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 @@ -33,16 +34,17 @@ #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) @@ -52,6 +54,8 @@ #define ao_arch_interrupt(n) /* nothing */ +#define AO_ROMCONFIG_SYMBOL __attribute__((section(".romconfig"))) const + #undef putchar #undef getchar #define putchar(c) ao_putchar(c) @@ -69,11 +73,8 @@ #define ao_arch_block_interrupts() cli() #define ao_arch_release_interrupts() sei() -#define ao_mutex_get(m) -#define ao_mutex_put(m) - void -ao_delay_until(uint16_t target); +ao_delay_until(AO_TICK_TYPE target); /* We can't hit 100 Hz, but we can hit 125 */ #define AO_HERTZ 125 @@ -84,4 +85,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_ */