void digitalWrite(int, int)
static constexpr uint32_t ACTIVE_DURATION_MS
void logFlightStateTransition(FlightState from, FlightState to, uint32_t t_ms, uint8_t reason)
void flightStateOnActiveTimeout()
Active → Venting when Active timer expires.
void runNoseConeControlLoop()
FlightState flightStateGet()
void flightStateOnLaunchDetect()
Idle → Launch (call from main when LIS3 launch ISR fires).
void flightStateOnApogee()
Launch → Active when apogee algorithm confirms (only valid from Launch).
static void driveAllSolenoids(bool high)
void applyActuatorOutputs()
static void transitionTo(FlightState to, uint8_t reason)
static FlightState s_state
static uint32_t s_activeEnterMs