Simplify making user modes for control, add USER mode

This commit is contained in:
Oleg Kalachev 2024-02-22 03:09:12 +03:00
parent 5b6ef9c50e
commit ab2f99ab59

View File

@ -35,7 +35,7 @@
#define RATES_LFP_ALPHA 0.2 // cutoff frequency ~ 40 Hz #define RATES_LFP_ALPHA 0.2 // cutoff frequency ~ 40 Hz
#define RATES_D_LPF_ALPHA 0.2 // cutoff frequency ~ 40 Hz #define RATES_D_LPF_ALPHA 0.2 // cutoff frequency ~ 40 Hz
enum { MANUAL, ACRO, STAB } mode = STAB; enum { MANUAL, ACRO, STAB, USER } mode = STAB;
enum { YAW, YAW_RATE } yawMode = YAW; enum { YAW, YAW_RATE } yawMode = YAW;
bool armed = false; bool armed = false;
@ -68,6 +68,8 @@ void control() {
} }
void interpretRC() { void interpretRC() {
armed = controls[RC_CHANNEL_THROTTLE] >= 0.05 && controls[RC_CHANNEL_ARMED] >= 0.5;
// NOTE: put ACRO or MANUAL modes there if you want to use them // NOTE: put ACRO or MANUAL modes there if you want to use them
if (controls[RC_CHANNEL_MODE] < 0.25) { if (controls[RC_CHANNEL_MODE] < 0.25) {
mode = STAB; mode = STAB;
@ -77,7 +79,6 @@ void interpretRC() {
mode = STAB; mode = STAB;
} }
armed = controls[RC_CHANNEL_THROTTLE] >= 0.05 && controls[RC_CHANNEL_ARMED] >= 0.5;
thrustTarget = controls[RC_CHANNEL_THROTTLE]; thrustTarget = controls[RC_CHANNEL_THROTTLE];
if (mode == ACRO) { if (mode == ACRO) {