#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 {
void
ao_cmd_put16(uint16_t v);
+uint8_t
+ao_cmd_is_white(void);
+
void
ao_cmd_white(void);
*/
#define AO_MAX_CALLSIGN 8
#define AO_MAX_VERSION 8
+#if LEGACY_MONITOR
#define AO_MAX_TELEMETRY 128
+#else
+#define AO_MAX_TELEMETRY 32
+#endif
struct ao_telemetry_generic {
uint16_t serial; /* 0 */
struct ao_telemetry_baro baro;
};
+struct ao_telemetry_all_recv {
+ union ao_telemetry_all telemetry;
+ int8_t rssi;
+ uint8_t status;
+};
+
/*
* ao_gps.c
*/
#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];
#define AO_MONITORING_OFF 0
#define AO_MONITORING_ORIG 1
-#define AO_MONITORING_TINY 2
void
-ao_set_monitor(uint8_t monitoring);
+ao_monitor_set(uint8_t monitoring);
+
+void
+ao_monitor_disable(void);
+
+void
+ao_monitor_enable(void);
void
-ao_monitor_init(uint8_t led, uint8_t monitoring) __reentrant;
+ao_monitor_init(void) __reentrant;
/*
* ao_stdio.c
ao_battery_init(void);
#endif /* BATTERY_PIN */
+/*
+ * ao_sqrt.c
+ */
+
+uint32_t
+ao_sqrt(uint32_t op);
+
#endif /* _AO_H_ */