X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao.h;h=76fc00ce4648a954f673e7cb289b1d8230753768;hp=88bcc93a8f189625de326cefa4d7cf52cb7c6c42;hb=9b974217958b1017e62d6c4f4568f547ccc30c58;hpb=70a69f3acdca27b80cdb2069de59bbc6dba83dbd diff --git a/ao.h b/ao.h index 88bcc93a..76fc00ce 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 { @@ -654,11 +657,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); @@ -727,6 +730,7 @@ 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) @@ -774,7 +778,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 +839,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 +858,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_ */