#include "flight_app.h" void Actuator_Init(ActuatorState *actuator) { actuator->throttle = 0.0f; actuator->elevator = 0.0f; actuator->armed = 0U; } void Actuator_Arm(ActuatorState *actuator) { actuator->armed = 1U; } void Actuator_WriteThrottle(ActuatorState *actuator, float throttle) { if (actuator->armed) { actuator->throttle = Filter_Limit(throttle, 0.0f, 1.0f); } } void Actuator_WriteElevator(ActuatorState *actuator, float elevator) { if (actuator->armed) { actuator->elevator = Filter_Limit(elevator, -20.0f, 20.0f); } } void Actuator_UpdateOutputs(ActuatorState *actuator) { Actuator_Arm(actuator); Actuator_WriteThrottle(actuator, actuator->throttle); Actuator_WriteElevator(actuator, actuator->elevator); } void Actuator_Disarm(ActuatorState *actuator) { actuator->armed = 0U; actuator->throttle = 0.0f; actuator->elevator = 0.0f; }