This prevents any apogee detection from occurring until the specified
number of seconds after boost. This also prevents the switch from
accel+baro to baro only mode in the Kalman filter.
The test frame work is also changed to look for Apogee lockout: in the
eeprom input file.
Signed-off-by: Keith Packard <keithp@keithp.com>
#endif
case ao_flight_coast:
+ /*
+ * By customer request - allow the user
+ * to lock out apogee detection for a specified
+ * number of seconds.
+ */
+ if (ao_config.apogee_lockout) {
+ if ((ao_sample_tick - ao_boost_tick) <
+ AO_SEC_TO_TICKS(ao_config.apogee_lockout))
+ break;
+ }
+
/* apogee detect: coast to drogue deploy:
*
* speed: < 0
int16_t accel_plus_g;
int16_t accel_minus_g;
uint8_t pad_orientation;
+ uint16_t apogee_lockout;
};
#define AO_PAD_ORIENTATION_ANTENNA_UP 0
ao_config.accel_minus_g = atoi(words[5]);
} else if (nword >= 4 && strcmp(words[0], "Main") == 0) {
ao_config.main_deploy = atoi(words[2]);
+ } else if (nword >= 3 && strcmp(words[0], "Apogee") == 0 &&
+ strcmp(words[1], "lockout:") == 0) {
+ ao_config.apogee_lockout = atoi(words[2]);
} else if (nword >= 36 && strcmp(words[0], "CALL") == 0) {
tick = atoi(words[10]);
if (!ao_flight_started) {