Refactor control subsystem

Add interpretControls function to convert pilot commands and mode into control targets and make control functions independent from the mode.
Add ratesExtra target for rates feed-forward; remove yawMode.
Rename controlRate to controlRates to reflect rates variable name.
Remove USER mode.
This commit is contained in:
Oleg Kalachev
2025-08-26 01:00:56 +03:00
parent a1539157b8
commit 8418723ccc
8 changed files with 88 additions and 62 deletions

View File

@@ -15,7 +15,8 @@
double t = NAN;
float dt;
float motors[4];
float controlRoll, controlPitch, controlYaw, controlThrottle, controlArmed, controlMode;
float controlRoll, controlPitch, controlYaw, controlThrottle = NAN;
float controlArmed = NAN, controlMode = NAN;
Vector acc;
Vector gyro;
Vector rates;
@@ -28,9 +29,9 @@ void computeLoopRate();
void applyGyro();
void applyAcc();
void control();
void interpretRC();
void interpretControls();
void controlAttitude();
void controlRate();
void controlRates();
void controlTorque();
const char* getModeName();
void sendMotors();