projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Clean up for SDCC 3.1 - more keywords
[fw/altos]
/
src
/
core
/
ao.h
diff --git
a/src/core/ao.h
b/src/core/ao.h
index 43d4e0e3ddf84242a7b5265314781986b9607b23..1fbcf7df554018b90f7376959d3f4782eec5c8b7 100644
(file)
--- a/
src/core/ao.h
+++ b/
src/core/ao.h
@@
-32,6
+32,12
@@
#ifndef DATA_TO_XDATA
#define DATA_TO_XDATA(a) (a)
#endif
#ifndef DATA_TO_XDATA
#define DATA_TO_XDATA(a) (a)
#endif
+#ifndef PDATA_TO_XDATA
+#define PDATA_TO_XDATA(a) (a)
+#endif
+#ifndef CODE_TO_XDATA
+#define CODE_TO_XDATA(a) (a)
+#endif
/* An AltOS task */
struct ao_task {
/* An AltOS task */
struct ao_task {
@@
-343,6
+349,9
@@
ao_cmd_put8(uint8_t v);
void
ao_cmd_put16(uint16_t v);
void
ao_cmd_put16(uint16_t v);
+uint8_t
+ao_cmd_is_white(void);
+
void
ao_cmd_white(void);
void
ao_cmd_white(void);
@@
-367,7
+376,7
@@
struct ao_cmds {
};
void
};
void
-ao_cmd_register(__code struct ao_cmds *cmds);
+ao_cmd_register(
const
__code struct ao_cmds *cmds);
void
ao_cmd_init(void);
void
ao_cmd_init(void);
@@
-996,7
+1005,11
@@
ao_spi_slave(void);
*/
#define AO_MAX_CALLSIGN 8
#define AO_MAX_VERSION 8
*/
#define AO_MAX_CALLSIGN 8
#define AO_MAX_VERSION 8
+#if LEGACY_MONITOR
#define AO_MAX_TELEMETRY 128
#define AO_MAX_TELEMETRY 128
+#else
+#define AO_MAX_TELEMETRY 32
+#endif
struct ao_telemetry_generic {
uint16_t serial; /* 0 */
struct ao_telemetry_generic {
uint16_t serial; /* 0 */
@@
-1156,6
+1169,12
@@
union ao_telemetry_all {
struct ao_telemetry_baro baro;
};
struct ao_telemetry_baro baro;
};
+struct ao_telemetry_all_recv {
+ union ao_telemetry_all telemetry;
+ int8_t rssi;
+ uint8_t status;
+};
+
/*
* ao_gps.c
*/
/*
* ao_gps.c
*/
@@
-1333,10
+1352,10
@@
void
ao_radio_set_packet(void);
void
ao_radio_set_packet(void);
void
-ao_radio_send(__xdata void *d
ata
, uint8_t size) __reentrant;
+ao_radio_send(__xdata void *d, uint8_t size) __reentrant;
uint8_t
uint8_t
-ao_radio_recv(__xdata void *d
ata
, uint8_t size) __reentrant;
+ao_radio_recv(__xdata void *d, uint8_t size) __reentrant;
void
ao_radio_recv_abort(void);
void
ao_radio_recv_abort(void);
@@
-1372,9
+1391,10
@@
extern const char const * const ao_state_names[];
#define AO_MONITOR_RING 8
union ao_monitor {
#define AO_MONITOR_RING 8
union ao_monitor {
- struct ao_telemetry_raw_recv raw;
- struct ao_telemetry_orig_recv orig;
- struct ao_telemetry_tiny_recv tiny;
+ struct ao_telemetry_raw_recv raw;
+ struct ao_telemetry_all_recv all;
+ struct ao_telemetry_orig_recv orig;
+ struct ao_telemetry_tiny_recv tiny;
};
extern __xdata union ao_monitor ao_monitor_ring[AO_MONITOR_RING];
};
extern __xdata union ao_monitor ao_monitor_ring[AO_MONITOR_RING];
@@
-1389,13
+1409,18
@@
ao_monitor(void);
#define AO_MONITORING_OFF 0
#define AO_MONITORING_ORIG 1
#define AO_MONITORING_OFF 0
#define AO_MONITORING_ORIG 1
-#define AO_MONITORING_TINY 2
void
void
-ao_set_monitor(uint8_t monitoring);
+ao_monitor_set(uint8_t monitoring);
+
+void
+ao_monitor_disable(void);
+
+void
+ao_monitor_enable(void);
void
void
-ao_monitor_init(
uint8_t led, uint8_t monitoring
) __reentrant;
+ao_monitor_init(
void
) __reentrant;
/*
* ao_stdio.c
/*
* ao_stdio.c
@@
-1470,9
+1495,21
@@
ao_igniter_init(void);
*/
#define AO_CONFIG_MAJOR 1
*/
#define AO_CONFIG_MAJOR 1
-#define AO_CONFIG_MINOR
9
+#define AO_CONFIG_MINOR
10
#define AO_AES_LEN 16
#define AO_AES_LEN 16
+#if HAS_RADIO_CHANNELS
+#define AO_CHANNEL_NAME_LEN 10
+
+#define AO_NUM_CHANNELS 10
+
+struct ao_radio_channel {
+ char name[AO_CHANNEL_NAME_LEN];
+ uint32_t kHz;
+ uint32_t radio_setting;
+};
+#endif
+
struct ao_config {
uint8_t major;
uint8_t minor;
struct ao_config {
uint8_t major;
uint8_t minor;
@@
-1489,6
+1526,9
@@
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 radio_setting; /* minor version 7 */
uint8_t radio_enable; /* minor version 8 */
uint8_t aes_key[AO_AES_LEN]; /* minor version 9 */
+#if HAS_RADIO_CHANNELS
+ struct ao_radio_channel radio_channels[AO_NUM_CHANNELS]; /* minor version 10 */
+#endif
};
#define AO_IGNITE_MODE_DUAL 0
};
#define AO_IGNITE_MODE_DUAL 0
@@
-1668,7
+1708,7
@@
ao_companion_init(void);
/* ao_lcd.c */
void
/* ao_lcd.c */
void
-ao_lcd_putchar(uint8_t d
ata
);
+ao_lcd_putchar(uint8_t d);
void
ao_lcd_putstring(char *string);
void
ao_lcd_putstring(char *string);
@@
-1679,6
+1719,12
@@
ao_lcd_contrast_set(uint8_t contrast);
void
ao_lcd_clear(void);
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
#define AO_LCD_ADDR(row,col) ((row << 6) | (col))
void
@@
-1693,14
+1739,14
@@
ao_lcd_init(void);
/* ao_lcd_port.c */
void
/* ao_lcd_port.c */
void
-ao_lcd_port_put_nibble(uint8_t rs, uint8_t d
ata
);
+ao_lcd_port_put_nibble(uint8_t rs, uint8_t d);
void
ao_lcd_port_init(void);
/* ao_aes.c */
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 */
/* AES keys and blocks are 128 bits */
@@
-1858,4
+1904,26
@@
ao_log_single(void);
void
ao_terraui_init(void);
void
ao_terraui_init(void);
+/*
+ * ao_battery.c
+ */
+
+#ifdef BATTERY_PIN
+void
+ao_battery_isr(void) ao_arch_interrupt(1);
+
+uint16_t
+ao_battery_get(void);
+
+void
+ao_battery_init(void);
+#endif /* BATTERY_PIN */
+
+/*
+ * ao_sqrt.c
+ */
+
+uint32_t
+ao_sqrt(uint32_t op);
+
#endif /* _AO_H_ */
#endif /* _AO_H_ */