mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 08:15:30 +03:00
Added selectable RaceFlight rates.
This commit is contained in:
parent
bca7b905b5
commit
ee65eba88d
21 changed files with 260 additions and 135 deletions
|
@ -241,13 +241,15 @@ extern "C" {
|
|||
class RcControlsAdjustmentsTest : public ::testing::Test {
|
||||
protected:
|
||||
controlRateConfig_t controlRateConfig = {
|
||||
.rcRate8 = 90,
|
||||
.rcExpo8 = 0,
|
||||
.rcRates[FD_ROLL] = 90,
|
||||
.rcRates[FD_PITCH] = 90,
|
||||
.rcExpo[FD_ROLL] = 0,
|
||||
.rcExpo[FD_PITCH] = 0,
|
||||
.thrMid8 = 0,
|
||||
.thrExpo8 = 0,
|
||||
.rates = {0, 0, 0},
|
||||
.dynThrPID = 0,
|
||||
.rcYawExpo8 = 0,
|
||||
.rcExpo[FD_YAW] = 0,
|
||||
.tpa_breakpoint = 0
|
||||
};
|
||||
|
||||
|
@ -260,11 +262,13 @@ protected:
|
|||
rxConfigMutable()->maxcheck = DEFAULT_MAX_CHECK;
|
||||
rxConfigMutable()->midrc = 1500;
|
||||
|
||||
controlRateConfig.rcRate8 = 90;
|
||||
controlRateConfig.rcExpo8 = 0;
|
||||
controlRateConfig.rcRates[FD_ROLL] = 90;
|
||||
controlRateConfig.rcRates[FD_PITCH] = 90;
|
||||
controlRateConfig.rcExpo[FD_ROLL] = 0;
|
||||
controlRateConfig.rcExpo[FD_PITCH] = 0;
|
||||
controlRateConfig.thrMid8 = 0;
|
||||
controlRateConfig.thrExpo8 = 0;
|
||||
controlRateConfig.rcYawExpo8 = 0;
|
||||
controlRateConfig.rcExpo[FD_YAW] = 0;
|
||||
controlRateConfig.rates[0] = 0;
|
||||
controlRateConfig.rates[1] = 0;
|
||||
controlRateConfig.rates[2] = 0;
|
||||
|
@ -292,7 +296,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsSticksInMiddle)
|
|||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
// then
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 90);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 90);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 90);
|
||||
EXPECT_EQ(CALL_COUNTER(COUNTER_QUEUE_CONFIRMATION_BEEP), 0);
|
||||
EXPECT_EQ(adjustmentStateMask, 0);
|
||||
}
|
||||
|
@ -301,13 +306,15 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
{
|
||||
// given
|
||||
controlRateConfig_t controlRateConfig = {
|
||||
.rcRate8 = 90,
|
||||
.rcExpo8 = 0,
|
||||
.rcRates[FD_ROLL] = 90,
|
||||
.rcRates[FD_PITCH] = 90,
|
||||
.rcExpo[FD_ROLL] = 0,
|
||||
.rcExpo[FD_PITCH] = 0,
|
||||
.thrMid8 = 0,
|
||||
.thrExpo8 = 0,
|
||||
.rates = {0,0,0},
|
||||
.dynThrPID = 0,
|
||||
.rcYawExpo8 = 0,
|
||||
.rcExpo[FD_YAW] = 0,
|
||||
.tpa_breakpoint = 0
|
||||
};
|
||||
|
||||
|
@ -345,7 +352,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
// then
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 91);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 91);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 91);
|
||||
EXPECT_EQ(CALL_COUNTER(COUNTER_QUEUE_CONFIRMATION_BEEP), 1);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
|
||||
|
@ -359,7 +367,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
// when
|
||||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 91);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 91);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 91);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
|
||||
|
||||
|
@ -381,7 +390,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
// when
|
||||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 91);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 91);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 91);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
|
||||
|
||||
|
@ -402,7 +412,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
// then
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 92);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 92);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 92);
|
||||
EXPECT_EQ(CALL_COUNTER(COUNTER_QUEUE_CONFIRMATION_BEEP), 2);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
|
||||
|
@ -418,7 +429,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
// then
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 92);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 92);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 92);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
|
||||
//
|
||||
|
@ -432,7 +444,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
// then
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 92);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 92);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 92);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
|
||||
//
|
||||
|
@ -448,7 +461,8 @@ TEST_F(RcControlsAdjustmentsTest, processRcAdjustmentsWithRcRateFunctionSwitchUp
|
|||
processRcAdjustments(&controlRateConfig);
|
||||
|
||||
// then
|
||||
EXPECT_EQ(controlRateConfig.rcRate8, 93);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_ROLL], 93);
|
||||
EXPECT_EQ(controlRateConfig.rcRates[FD_PITCH], 93);
|
||||
EXPECT_EQ(CALL_COUNTER(COUNTER_QUEUE_CONFIRMATION_BEEP), 3);
|
||||
EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask);
|
||||
}
|
||||
|
@ -673,7 +687,7 @@ TEST_F(RcControlsAdjustmentsTest, processPIDIncreasePidController2)
|
|||
|
||||
extern "C" {
|
||||
void saveConfigAndNotify(void) {}
|
||||
void generateThrottleCurve(void) {}
|
||||
void initRcProcessing(void) {}
|
||||
void changePidProfile(uint8_t) {}
|
||||
void pidInitConfig(const pidProfile_t *) {}
|
||||
void accSetCalibrationCycles(uint16_t) {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue