X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcore%2Fao.h;h=ac51c270601608cb5e87302e8ed7aa99feae7fb9;hb=3c7d1f6cfffb43299041f2850a48177f4e9b83a5;hp=3c1aa156bb4925b985ca53536b80c2c1aca43aed;hpb=75a8490a7bee2a2c7afd559b13f1d9c40c2aa08f;p=fw%2Faltos diff --git a/src/core/ao.h b/src/core/ao.h index 3c1aa156..ac51c270 100644 --- a/src/core/ao.h +++ b/src/core/ao.h @@ -376,7 +376,7 @@ struct ao_cmds { }; void -ao_cmd_register(__code struct ao_cmds *cmds); +ao_cmd_register(const __code struct ao_cmds *cmds); void ao_cmd_init(void); @@ -917,7 +917,7 @@ char ao_serial_pollchar(void) __critical; void -ao_serial_set_stdin(uint8_t stdin); +ao_serial_set_stdin(uint8_t in); #endif void @@ -938,6 +938,39 @@ void ao_serial_init(void); #endif +#ifndef HAS_SERIAL_0 +#define HAS_SERIAL_0 0 +#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); + +void +ao_serial0_tx0_isr(void) ao_arch_interrupt(7); + +char +ao_serial0_getchar(void) __critical; + +void +ao_serial0_putchar(char c) __critical; + +void +ao_serial0_drain(void) __critical; + +void +ao_serial0_set_speed(uint8_t speed); + +void +ao_serial0_init(void); + +#endif + + /* * ao_spi.c */ @@ -1352,10 +1385,10 @@ void ao_radio_set_packet(void); void -ao_radio_send(__xdata void *data, uint8_t size) __reentrant; +ao_radio_send(__xdata void *d, uint8_t size) __reentrant; uint8_t -ao_radio_recv(__xdata void *data, uint8_t size) __reentrant; +ao_radio_recv(__xdata void *d, uint8_t size) __reentrant; void ao_radio_recv_abort(void); @@ -1506,7 +1539,6 @@ ao_igniter_init(void); struct ao_radio_channel { char name[AO_CHANNEL_NAME_LEN]; uint32_t kHz; - uint32_t radio_setting; }; #endif @@ -1526,6 +1558,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 @@ -1708,7 +1741,7 @@ ao_companion_init(void); /* ao_lcd.c */ void -ao_lcd_putchar(uint8_t data); +ao_lcd_putchar(uint8_t d); void ao_lcd_putstring(char *string); @@ -1719,6 +1752,12 @@ ao_lcd_contrast_set(uint8_t contrast); void ao_lcd_clear(void); +void +ao_lcd_cursor_on(void); + +void +ao_lcd_cursor_off(void); + #define AO_LCD_ADDR(row,col) ((row << 6) | (col)) void @@ -1733,14 +1772,14 @@ ao_lcd_init(void); /* ao_lcd_port.c */ void -ao_lcd_port_put_nibble(uint8_t rs, uint8_t data); +ao_lcd_port_put_nibble(uint8_t rs, uint8_t d); void ao_lcd_port_init(void); /* ao_aes.c */ -__xdata uint8_t ao_aes_mutex; +extern __xdata uint8_t ao_aes_mutex; /* AES keys and blocks are 128 bits */ @@ -1920,4 +1959,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_ */