#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 */
* - pad mode if we're upright,
* - idle mode otherwise
*/
-#if HAS_ACCEL
+#if HAS_ACCEL && 0
if (ao_config.accel_plus_g == 0 ||
ao_config.accel_minus_g == 0 ||
ao_ground_accel < ao_config.accel_plus_g - ACCEL_NOSE_UP ||
*/
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
} else
#endif
if (!ao_flight_force_idle
-#if HAS_ACCEL
+#if HAS_ACCEL && 0
&& ao_ground_accel < ao_config.accel_plus_g + ACCEL_NOSE_UP
#endif
)
{
/* Set pad mode - we can fly! */
ao_flight_state = ao_flight_pad;
-#if HAS_USB && HAS_RADIO
+#if HAS_USB && HAS_RADIO && 0
/* Disable the USB controller in flight mode
* to save power
*/
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);
/* 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
/* start logging data */
ao_log_start();
-#if HAS_RADIO
+#if HAS_TELEMETRY
/* Increase telemetry rate */
ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT);
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);
static void
ao_flight_dump(void)
{
+#if HAS_ACCEL
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 (" 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));
+#endif
printf ("kalman:\n");