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 cc1120 driver a bit
[fw/altos]
/
src
/
core
/
ao_flight_mm.c
diff --git
a/src/core/ao_flight_mm.c
b/src/core/ao_flight_mm.c
index e812016eaec05e854226e9858959bb1fe58f6874..a0affc4868f028dd61ccea1b86c0ac863e404623 100644
(file)
--- a/
src/core/ao_flight_mm.c
+++ b/
src/core/ao_flight_mm.c
@@
-32,6
+32,10
@@
#error Please define HAS_USB
#endif
#error Please define HAS_USB
#endif
+#ifndef HAS_TELEMETRY
+#define HAS_TELEMETRY HAS_RADIO
+#endif
+
/* Main flight thread. */
__pdata enum ao_flight_state ao_flight_state; /* current flight state */
/* Main flight thread. */
__pdata enum ao_flight_state ao_flight_state; /* current flight state */
@@
-94,7
+98,7
@@
ao_flight(void)
*/
ao_flight_state = ao_flight_invalid;
*/
ao_flight_state = ao_flight_invalid;
-#if HAS_RADIO
+#if HAS_RADIO
&& PACKET_HAS_SLAVE
/* Turn on packet system in invalid mode on TeleMetrum */
ao_packet_slave_start();
#endif
/* Turn on packet system in invalid mode on TeleMetrum */
ao_packet_slave_start();
#endif
@@
-120,7
+124,7
@@
ao_flight(void)
ao_packet_slave_stop();
#endif
ao_packet_slave_stop();
#endif
-#if HAS_
RADIO
+#if HAS_
TELEMETRY
/* Turn on telemetry system */
ao_rdf_set(1);
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_PAD);
/* Turn on telemetry system */
ao_rdf_set(1);
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_PAD);
@@
-131,7
+135,7
@@
ao_flight(void)
/* Set idle mode */
ao_flight_state = ao_flight_idle;
/* Set idle mode */
ao_flight_state = ao_flight_idle;
-#if HAS_ACCEL && HAS_RADIO
+#if HAS_ACCEL && HAS_RADIO
&& PACKET_HAS_SLAVE
/* Turn on packet system in idle mode on TeleMetrum */
ao_packet_slave_start();
#endif
/* Turn on packet system in idle mode on TeleMetrum */
ao_packet_slave_start();
#endif
@@
-171,7
+175,7
@@
ao_flight(void)
/* start logging data */
ao_log_start();
/* start logging data */
ao_log_start();
-#if HAS_
RADIO
+#if HAS_
TELEMETRY
/* Increase telemetry rate */
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT);
/* Increase telemetry rate */
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT);
@@
-259,7
+263,7
@@
ao_flight(void)
ao_ignite(ao_igniter_drogue);
#endif
ao_ignite(ao_igniter_drogue);
#endif
-#if HAS_
RADIO
+#if HAS_
TELEMETRY
/* slow down the telemetry system */
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_RECOVER);
/* slow down the telemetry system */
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_RECOVER);
@@
-359,9
+363,11
@@
static inline int frac_part(int16_t i) { return ((i & 0xf) * 100 + 8) / 16; }
static void
ao_flight_dump(void)
{
static void
ao_flight_dump(void)
{
+#if HAS_ACCEL
int16_t accel;
accel = ((ao_ground_accel - ao_sample_accel) * ao_accel_scale) >> 16;
int16_t accel;
accel = ((ao_ground_accel - ao_sample_accel) * ao_accel_scale) >> 16;
+#endif
printf ("sample:\n");
printf (" tick %d\n", ao_sample_tick);
printf ("sample:\n");
printf (" tick %d\n", ao_sample_tick);
@@
-378,7
+384,9
@@
ao_flight_dump(void)
printf (" alt %d\n", ao_sample_alt);
printf (" height %d\n", ao_sample_height);
printf (" alt %d\n", ao_sample_alt);
printf (" height %d\n", ao_sample_height);
+#if HAS_ACCEL
printf (" accel %d.%02d\n", int_part(accel), frac_part(accel));
printf (" accel %d.%02d\n", int_part(accel), frac_part(accel));
+#endif
printf ("kalman:\n");
printf ("kalman:\n");