ao_interval_end is used to provide a window of time during which the
max/min values for sensors are measured. After that time expires,
those bounds are compared to see if the airframe has been stable and
should be moved to landing state. With a type that is too small, that
could happen immediately after transitioning to main (for baro-enabled
devices) or coast (for accel-only devices). For baro devices, this
would disable any redundant main firing events. For accel-only
devices, this could disable all events occuring after coast, including
firing separation charges or motor igniters.
There are also a couple of additional changes to reduce -Wconversion
messages.
Signed-off-by: Keith Packard <keithp@keithp.com>
* track min/max data over a long interval to detect
* resting
*/
-static uint16_t ao_interval_end;
+static AO_TICK_TYPE ao_interval_end;
#ifdef HAS_BARO
static ao_v_t ao_interval_min_height;
static ao_v_t ao_interval_max_height;
* (15 seconds) has past.
*/
if ((ao_accel < AO_MSS_TO_ACCEL(-2.5)) ||
- (AO_TICK_SIGNED) (ao_sample_tick - ao_boost_tick) > BOOST_TICKS_MAX)
+ (AO_TICK_SIGNED) (ao_sample_tick - ao_boost_tick) > (AO_TICK_SIGNED) BOOST_TICKS_MAX)
{
#if HAS_ACCEL
#if HAS_BARO
*/
if (ao_config.apogee_lockout) {
if ((AO_TICK_SIGNED) (ao_sample_tick - ao_launch_tick) <
- AO_SEC_TO_TICKS(ao_config.apogee_lockout))
+ (AO_TICK_SIGNED) AO_SEC_TO_TICKS(ao_config.apogee_lockout))
break;
}