summaryrefslogtreecommitdiff
path: root/src/core/ao_telemetry.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-05-22 13:03:06 -0700
committerKeith Packard <keithp@keithp.com>2013-08-25 22:24:00 -0700
commitd0b4e926ecececa7499a301b6135189be119512e (patch)
treea2c8a67bf1528745a25acfc202d238e7b3242e49 /src/core/ao_telemetry.c
parent3ded57394f6dfd7beb9526c031a5c6c6c9926917 (diff)
Initial TeleMini bits
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/core/ao_telemetry.c')
-rw-r--r--src/core/ao_telemetry.c40
1 files changed, 37 insertions, 3 deletions
diff --git a/src/core/ao_telemetry.c b/src/core/ao_telemetry.c
index 03a8a273..9c673030 100644
--- a/src/core/ao_telemetry.c
+++ b/src/core/ao_telemetry.c
@@ -171,6 +171,36 @@ ao_send_mega_data(void)
}
#endif /* AO_SEND_MEGA */
+#ifdef AO_SEND_MINI
+
+static void
+ao_send_mini(void)
+{
+ __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+
+ telemetry.generic.tick = packet->tick;
+ telemetry.generic.type = AO_TELEMETRY_MINI;
+
+ telemetry.mini.state = ao_flight_state;
+
+ telemetry.mini.v_batt = packet->adc.v_batt;
+ telemetry.mini.sense_a = packet->adc.sense_a;
+ telemetry.mini.sense_m = packet->adc.sense_m;
+
+ telemetry.mini.pres = ao_data_pres(packet);
+ telemetry.mini.temp = ao_data_temp(packet);
+
+ telemetry.mini.acceleration = ao_accel;
+ telemetry.mini.speed = ao_speed;
+ telemetry.mini.height = ao_height;
+
+ telemetry.mini.ground_pres = ao_ground_pres;
+
+ ao_radio_send(&telemetry, sizeof (telemetry));
+}
+
+#endif
+
#ifdef AO_SEND_ALL_BARO
static uint8_t ao_baro_sample;
@@ -323,12 +353,16 @@ ao_telemetry(void)
ao_send_baro();
#endif
#if HAS_FLIGHT
-#ifdef AO_SEND_MEGA
+# ifdef AO_SEND_MEGA
ao_send_mega_sensor();
ao_send_mega_data();
-#else
+# else
+# ifdef AO_SEND_MINI
+ ao_send_mini();
+# else
ao_send_sensor();
-#endif
+# endif
+# endif
#endif
#if HAS_COMPANION