1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 16:25:31 +03:00

De-duplicate mixer tri and quad integration test setup code.

This commit is contained in:
Dominic Clifton 2015-07-14 23:20:39 +01:00
parent 9f62349191
commit cfe0d770ac

View file

@ -151,37 +151,53 @@ TEST_F(ChannelForwardingTest, TestForwardAuxChannelsToServosWithLessRemainingSer
EXPECT_EQ(1250, servos[MAX_SUPPORTED_SERVOS - 0 - 1].value); EXPECT_EQ(1250, servos[MAX_SUPPORTED_SERVOS - 0 - 1].value);
} }
class BasicMixerIntegrationTest : public ::testing::Test {
protected:
mixerConfig_t mixerConfig;
rxConfig_t rxConfig;
escAndServoConfig_t escAndServoConfig;
servoParam_t servoConf[MAX_SUPPORTED_SERVOS];
gimbalConfig_t gimbalConfig = {
.mode = GIMBAL_MODE_NORMAL
};
TEST(FlightMixerTest, TestTricopterServo) motorMixer_t customMixer[MAX_SUPPORTED_MOTORS];
servoMixer_t customServoMixer[MAX_SUPPORTED_SERVOS];
virtual void SetUp() {
updatedServoCount = 0;
memset(&mixerConfig, 0, sizeof(mixerConfig));
memset(&rxConfig, 0, sizeof(rxConfig));
memset(&escAndServoConfig, 0, sizeof(escAndServoConfig));
memset(&servoConf, 0, sizeof(servoConf));
memset(rcCommand, 0, sizeof(rcCommand));
memset(axisPID, 0, sizeof(axisPID));
memset(&customMixer, 0, sizeof(customMixer));
}
virtual void withDefaultEscAndServoConfiguration(void) {
escAndServoConfig.mincommand = TEST_MIN_COMMAND;
}
};
TEST_F(BasicMixerIntegrationTest, TestTricopterServo)
{ {
// given // given
updatedServoCount = 0;
mixerConfig_t mixerConfig;
memset(&mixerConfig, 0, sizeof(mixerConfig));
rxConfig_t rxConfig;
memset(&rxConfig, 0, sizeof(rxConfig));
rxConfig.midrc = 1500; rxConfig.midrc = 1500;
mixerConfig.tri_unarmed_servo = 1; mixerConfig.tri_unarmed_servo = 1;
escAndServoConfig_t escAndServoConfig; withDefaultEscAndServoConfiguration();
memset(&escAndServoConfig, 0, sizeof(escAndServoConfig));
escAndServoConfig.mincommand = TEST_MIN_COMMAND;
servoParam_t servoConf[MAX_SUPPORTED_SERVOS];
memset(&servoConf, 0, sizeof(servoConf));
servoConf[5].min = DEFAULT_SERVO_MIN; servoConf[5].min = DEFAULT_SERVO_MIN;
servoConf[5].max = DEFAULT_SERVO_MAX; servoConf[5].max = DEFAULT_SERVO_MAX;
servoConf[5].middle = DEFAULT_SERVO_MIDDLE; servoConf[5].middle = DEFAULT_SERVO_MIDDLE;
servoConf[5].rate = 100; servoConf[5].rate = 100;
servoConf[5].forwardFromChannel = CHANNEL_FORWARDING_DISABLED; servoConf[5].forwardFromChannel = CHANNEL_FORWARDING_DISABLED;
gimbalConfig_t gimbalConfig = {
.mode = GIMBAL_MODE_NORMAL
};
mixerUseConfigs( mixerUseConfigs(
servoConf, servoConf,
&gimbalConfig, &gimbalConfig,
@ -192,12 +208,6 @@ TEST(FlightMixerTest, TestTricopterServo)
&rxConfig &rxConfig
); );
motorMixer_t customMixer[MAX_SUPPORTED_MOTORS];
memset(&customMixer, 0, sizeof(customMixer));
servoMixer_t customServoMixer[MAX_SUPPORTED_SERVOS];
memset(&customServoMixer, 0, sizeof(customServoMixer));
mixerInit(MIXER_TRI, customMixer, customServoMixer); mixerInit(MIXER_TRI, customMixer, customServoMixer);
// and // and
@ -209,10 +219,6 @@ TEST(FlightMixerTest, TestTricopterServo)
mixerUsePWMOutputConfiguration(&pwmOutputConfiguration); mixerUsePWMOutputConfiguration(&pwmOutputConfiguration);
// and // and
memset(rcCommand, 0, sizeof(rcCommand));
// and
memset(axisPID, 0, sizeof(axisPID));
axisPID[YAW] = 0; axisPID[YAW] = 0;
// when // when
@ -224,27 +230,12 @@ TEST(FlightMixerTest, TestTricopterServo)
EXPECT_EQ(TEST_SERVO_MID, servos[0].value); EXPECT_EQ(TEST_SERVO_MID, servos[0].value);
} }
TEST(FlightMixerTest, TestQuadMotors) TEST_F(BasicMixerIntegrationTest, TestQuadMotors)
{ {
// given // given
updatedMotorCount = 0; updatedMotorCount = 0;
mixerConfig_t mixerConfig; withDefaultEscAndServoConfiguration();
memset(&mixerConfig, 0, sizeof(mixerConfig));
rxConfig_t rxConfig;
memset(&rxConfig, 0, sizeof(rxConfig));
servoParam_t servoConf[MAX_SUPPORTED_SERVOS];
memset(&servoConf, 0, sizeof(servoConf));
escAndServoConfig_t escAndServoConfig;
memset(&escAndServoConfig, 0, sizeof(escAndServoConfig));
escAndServoConfig.mincommand = TEST_MIN_COMMAND;
gimbalConfig_t gimbalConfig = {
.mode = GIMBAL_MODE_NORMAL
};
mixerUseConfigs( mixerUseConfigs(
servoConf, servoConf,
@ -256,13 +247,6 @@ TEST(FlightMixerTest, TestQuadMotors)
&rxConfig &rxConfig
); );
motorMixer_t customMixer[MAX_SUPPORTED_MOTORS];
memset(&customMixer, 0, sizeof(customMixer));
servoMixer_t customServoMixer[MAX_SUPPORTED_SERVOS];
memset(&customServoMixer, 0, sizeof(customServoMixer));
mixerInit(MIXER_QUADX, customMixer, customServoMixer); mixerInit(MIXER_QUADX, customMixer, customServoMixer);
// and // and