projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add state comparisons to pyro channel conditions
[fw/altos]
/
src
/
core
/
ao_telemetry.c
diff --git
a/src/core/ao_telemetry.c
b/src/core/ao_telemetry.c
index 3c747520ee2c227e2a77e30efdd84b4f6f48acd6..52ac94891adebd99f915cf97a20e95ddf171a18c 100644
(file)
--- a/
src/core/ao_telemetry.c
+++ b/
src/core/ao_telemetry.c
@@
-22,9
+22,6
@@
static __pdata uint16_t ao_telemetry_interval;
static __pdata uint8_t ao_rdf = 0;
static __pdata uint16_t ao_rdf_time;
static __pdata uint8_t ao_rdf = 0;
static __pdata uint16_t ao_rdf_time;
-#define AO_RDF_INTERVAL_TICKS AO_SEC_TO_TICKS(5)
-#define AO_RDF_LENGTH_MS 500
-
#if defined(MEGAMETRUM)
#define AO_SEND_MEGA 1
#endif
#if defined(MEGAMETRUM)
#define AO_SEND_MEGA 1
#endif
@@
-141,9
+138,9
@@
ao_send_mega_data(void)
telemetry.mega_data.v_batt = packet->adc.v_batt;
telemetry.mega_data.v_pyro = packet->adc.v_pbatt;
telemetry.mega_data.v_batt = packet->adc.v_batt;
telemetry.mega_data.v_pyro = packet->adc.v_pbatt;
- /*
XXX figure out right shift value; 4 might suffice
*/
+ /*
ADC range is 0-4095, so shift by four to save the high 8 bits
*/
for (i = 0; i < AO_ADC_NUM_SENSE; i++)
for (i = 0; i < AO_ADC_NUM_SENSE; i++)
- telemetry.mega_data.sense[i] = packet->adc.sense[i] >>
8
;
+ telemetry.mega_data.sense[i] = packet->adc.sense[i] >>
4
;
telemetry.mega_data.ground_pres = ao_ground_pres;
telemetry.mega_data.ground_accel = ao_ground_accel;
telemetry.mega_data.ground_pres = ao_ground_pres;
telemetry.mega_data.ground_accel = ao_ground_accel;
@@
-317,8
+314,16
@@
ao_telemetry(void)
if (ao_rdf &&
(int16_t) (ao_time() - ao_rdf_time) >= 0)
{
if (ao_rdf &&
(int16_t) (ao_time() - ao_rdf_time) >= 0)
{
+#if HAS_IGNITE_REPORT
+ uint8_t c;
+#endif
ao_rdf_time = ao_time() + AO_RDF_INTERVAL_TICKS;
ao_rdf_time = ao_time() + AO_RDF_INTERVAL_TICKS;
- ao_radio_rdf(AO_MS_TO_RDF_LEN(AO_RDF_LENGTH_MS));
+#if HAS_IGNITE_REPORT
+ if (ao_flight_state == ao_flight_pad && (c = ao_report_igniter()))
+ ao_radio_continuity(c);
+ else
+#endif
+ ao_radio_rdf();
}
#endif
time += ao_telemetry_interval;
}
#endif
time += ao_telemetry_interval;
@@
-330,6
+335,7
@@
ao_telemetry(void)
}
else
time = ao_time();
}
else
time = ao_time();
+ bottom: ;
}
}
}
}
}
}