X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao.h;h=1f32ba50f4f0df2ffc3983fd5133d2323cb2070f;hp=88bcc93a8f189625de326cefa4d7cf52cb7c6c42;hb=3a3bfd471a868d546d83cdc431b53c8f5208edb9;hpb=70a69f3acdca27b80cdb2069de59bbc6dba83dbd diff --git a/ao.h b/ao.h index 88bcc93a..1f32ba50 100644 --- a/ao.h +++ b/ao.h @@ -23,6 +23,9 @@ #include #include "cc1111.h" +#define TRUE 1 +#define FALSE 0 + /* Convert a __data pointer into an __xdata pointer */ #define DATA_TO_XDATA(a) ((void __xdata *) ((uint8_t) (a) | 0xff00)) @@ -44,7 +47,7 @@ struct ao_task { extern __xdata struct ao_task *__data ao_cur_task; -#define AO_NUM_TASKS 10 /* maximum number of tasks */ +#define AO_NUM_TASKS 16 /* maximum number of tasks */ #define AO_NO_TASK 0 /* no task id */ /* @@ -259,10 +262,10 @@ ao_led_init(uint8_t enable); /* Put one character to the USB output queue */ void -ao_usb_putchar(uint8_t c); +ao_usb_putchar(char c); /* Get one character from the USB input queue */ -uint8_t +char ao_usb_getchar(void); /* Flush the USB output queue */ @@ -296,7 +299,7 @@ enum ao_cmd_status { }; extern __xdata uint16_t ao_cmd_lex_i; -extern __xdata uint8_t ao_cmd_lex_c; +extern __xdata char ao_cmd_lex_c; extern __xdata enum ao_cmd_status ao_cmd_status; void @@ -318,7 +321,7 @@ void ao_cmd_decimal(void); struct ao_cmds { - uint8_t cmd; + char cmd; void (*func)(void); const char *help; }; @@ -462,12 +465,12 @@ struct ao_gps_pos { #define AO_LOG_POS_NONE (~0UL) struct ao_log_record { - uint8_t type; + char type; uint8_t csum; uint16_t tick; union { struct { - uint16_t serial; + int16_t ground_accel; uint16_t flight; } flight; struct { @@ -565,6 +568,7 @@ extern __pdata enum ao_flight_state ao_flight_state; extern __pdata uint16_t ao_flight_tick; extern __pdata int16_t ao_flight_accel; extern __pdata int16_t ao_flight_pres; +extern __pdata int32_t ao_flight_vel; extern __pdata int16_t ao_ground_pres; extern __pdata int16_t ao_ground_accel; extern __pdata int16_t ao_min_pres; @@ -654,11 +658,11 @@ void ao_serial_tx1_isr(void) interrupt 14; #endif -uint8_t +char ao_serial_getchar(void) __critical; void -ao_serial_putchar(uint8_t c) __critical; +ao_serial_putchar(char c) __critical; void ao_serial_init(void); @@ -720,6 +724,11 @@ ao_gps_report_init(void); struct ao_telemetry { uint8_t addr; uint8_t flight_state; + int16_t flight_accel; + int16_t ground_accel; + int32_t flight_vel; + int16_t flight_pres; + int16_t ground_pres; struct ao_adc adc; struct ao_gps_data gps; char callsign[AO_MAX_CALLSIGN]; @@ -727,15 +736,13 @@ struct ao_telemetry { /* Set delay between telemetry reports (0 to disable) */ +#define AO_TELEMETRY_INTERVAL_PAD AO_MS_TO_TICKS(1000) #define AO_TELEMETRY_INTERVAL_FLIGHT AO_MS_TO_TICKS(50) #define AO_TELEMETRY_INTERVAL_RECOVER AO_MS_TO_TICKS(1000) void ao_telemetry_set_interval(uint16_t interval); -void -ao_rdf_set(uint8_t rdf); - void ao_telemetry_init(void); @@ -755,12 +762,6 @@ struct ao_radio_recv { void ao_radio_recv(__xdata struct ao_radio_recv *recv) __reentrant; -void -ao_radio_rdf(void); - -void -ao_radio_rdf_abort(void); - void ao_radio_init(void); @@ -774,7 +775,10 @@ void ao_monitor(void); void -ao_monitor_init(uint8_t led); +ao_set_monitor(uint8_t monitoring); + +void +ao_monitor_init(uint8_t led, uint8_t monitoring) __reentrant; /* * ao_stdio.c @@ -832,6 +836,16 @@ ao_config_get(void); void ao_config_init(void); +/* + * ao_rssi.c + */ + +void +ao_rssi_set(int rssi_value); + +void +ao_rssi_init(uint8_t rssi_led); + /* * ao_product.c * @@ -841,5 +855,8 @@ ao_config_init(void); extern const uint8_t ao_usb_descriptors []; extern const uint16_t ao_serial_number; +extern const char ao_version[]; +extern const char ao_manufacturer[]; +extern const char ao_product[]; #endif /* _AO_H_ */