X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcore%2Fao.h;h=c9f17dc00b36e7f6f7413f07df7664d86788d60e;hb=25184baa36c20e3d661f94e642a33e8aae179d60;hp=494993f12992b8f7b5e71bd190da155bc3068dc6;hpb=7a42f2e0f145d2d520aed8e241fa39f7cb62b19f;p=fw%2Faltos diff --git a/src/core/ao.h b/src/core/ao.h index 494993f1..c9f17dc0 100644 --- a/src/core/ao.h +++ b/src/core/ao.h @@ -113,6 +113,7 @@ ao_start_scheduler(void); #define AO_PANIC_FLASH 9 /* Invalid flash part (or wrong blocksize) */ #define AO_PANIC_USB 10 /* Trying to send USB packet while busy */ #define AO_PANIC_BT 11 /* Communications with bluetooth device failed */ +#define AO_PANIC_STACK 12 /* Stack overflow */ /* Stop the operating system, beeping and blinking the reason */ void @@ -257,29 +258,33 @@ ao_beep_init(void); #define AO_LED_NONE 0 +#ifndef AO_LED_TYPE +#define AO_LED_TYPE uint8_t +#endif + /* Turn on the specified LEDs */ void -ao_led_on(uint8_t colors); +ao_led_on(AO_LED_TYPE colors); /* Turn off the specified LEDs */ void -ao_led_off(uint8_t colors); +ao_led_off(AO_LED_TYPE colors); /* Set all of the LEDs to the specified state */ void -ao_led_set(uint8_t colors); +ao_led_set(AO_LED_TYPE colors); /* Toggle the specified LEDs */ void -ao_led_toggle(uint8_t colors); +ao_led_toggle(AO_LED_TYPE colors); /* Turn on the specified LEDs for the indicated interval */ void -ao_led_for(uint8_t colors, uint16_t ticks) __reentrant; +ao_led_for(AO_LED_TYPE colors, uint16_t ticks) __reentrant; /* Initialize the LEDs */ void -ao_led_init(uint8_t enable); +ao_led_init(AO_LED_TYPE enable); /* * ao_usb.c @@ -898,7 +903,7 @@ ao_dbg_init(void); #error Please define HAS_SERIAL_1 #endif -#if HAS_SERIAL_1 +#if HAS_SERIAL_1 | HAS_SERIAL_2 | HAS_SERIAL_3 #ifndef USE_SERIAL_STDIN #error Please define USE_SERIAL_STDIN #endif @@ -917,7 +922,7 @@ char ao_serial_pollchar(void) __critical; void -ao_serial_set_stdin(uint8_t stdin); +ao_serial_set_stdin(uint8_t in); #endif void @@ -943,6 +948,10 @@ ao_serial_init(void); #endif #if HAS_SERIAL_0 + +extern volatile __xdata struct ao_fifo ao_usart0_rx_fifo; +extern volatile __xdata struct ao_fifo ao_usart0_tx_fifo; + void ao_serial0_rx0_isr(void) ao_arch_interrupt(2); @@ -1535,7 +1544,6 @@ ao_igniter_init(void); struct ao_radio_channel { char name[AO_CHANNEL_NAME_LEN]; uint32_t kHz; - uint32_t radio_setting; }; #endif @@ -1555,6 +1563,7 @@ struct ao_config { uint32_t radio_setting; /* minor version 7 */ uint8_t radio_enable; /* minor version 8 */ uint8_t aes_key[AO_AES_LEN]; /* minor version 9 */ + uint32_t frequency; /* minor version 10 */ #if HAS_RADIO_CHANNELS struct ao_radio_channel radio_channels[AO_NUM_CHANNELS]; /* minor version 10 */ #endif @@ -1955,4 +1964,10 @@ ao_battery_init(void); uint32_t ao_sqrt(uint32_t op); +/* + * ao_freq.c + */ + +int32_t ao_freq_to_set(int32_t freq, int32_t cal); + #endif /* _AO_H_ */