altos: Bring up basic TeleTerra v0.2 UI
[fw/altos] / src / core / ao.h
index 558d0e3866b2bf0b04687f6d43030e6f00147a4b..9b8d3270cf992dd431899966e432348125c02a02 100644 (file)
@@ -996,7 +996,11 @@ ao_spi_slave(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 */
@@ -1156,6 +1160,12 @@ union ao_telemetry_all {
        struct ao_telemetry_baro                baro;
 };
 
+struct ao_telemetry_all_recv {
+       union ao_telemetry_all          telemetry;
+       int8_t                          rssi;
+       uint8_t                         status;
+};
+
 /*
  * ao_gps.c
  */
@@ -1372,9 +1382,10 @@ extern const char const * const ao_state_names[];
 #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];
@@ -1873,4 +1884,11 @@ void
 ao_battery_init(void);
 #endif /* BATTERY_PIN */
 
+/*
+ * ao_sqrt.c
+ */
+
+uint32_t
+ao_sqrt(uint32_t op);
+
 #endif /* _AO_H_ */