mirror of https://github.com/rusefi/rusefi.git
refactoring: LaunchControlBase::isInsideRPMCondition method returns bool again
This commit is contained in:
parent
61ac579754
commit
8a4f53214b
|
@ -73,22 +73,30 @@ bool LaunchControlBase::isInsideTpsCondition() const {
|
|||
return engineConfiguration->launchTpsThreshold < tps.Value;
|
||||
}
|
||||
|
||||
LaunchCondition LaunchControlBase::calculateRPMLaunchCondition(const int rpm) const {
|
||||
const int launchRpm = engineConfiguration->launchRpm;
|
||||
if (rpm < launchRpm) {
|
||||
return LaunchCondition::NotMet;
|
||||
} else {
|
||||
return LaunchCondition::Launch;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Condition is true as soon as we are above LaunchRpm
|
||||
*/
|
||||
LaunchCondition LaunchControlBase::isInsideRPMCondition(int rpm) const {
|
||||
int launchRpm = engineConfiguration->launchRpm;
|
||||
return (launchRpm < rpm) ? LaunchCondition::Launch : LaunchCondition::NotMet;
|
||||
bool LaunchControlBase::isInsideRPMCondition(const int rpm) const {
|
||||
const LaunchCondition rpmLaunchCondition = calculateRPMLaunchCondition(rpm);
|
||||
return rpmLaunchCondition == LaunchCondition::Launch;
|
||||
}
|
||||
|
||||
LaunchCondition LaunchControlBase::isLaunchConditionMet(int rpm) {
|
||||
LaunchCondition rpmLaunchCondition = isInsideRPMCondition(rpm);
|
||||
bool LaunchControlBase::isLaunchConditionMet(const int rpm) {
|
||||
activateSwitchCondition = isInsideSwitchCondition();
|
||||
rpmCondition = (rpmLaunchCondition == LaunchCondition::Launch);
|
||||
rpmCondition = isInsideRPMCondition(rpm);
|
||||
speedCondition = isInsideSpeedCondition();
|
||||
tpsCondition = isInsideTpsCondition();
|
||||
|
||||
return ((speedCondition && activateSwitchCondition && tpsCondition) == true) ? rpmLaunchCondition : LaunchCondition::NotMet;
|
||||
return speedCondition && activateSwitchCondition && rpmCondition && tpsCondition;
|
||||
}
|
||||
|
||||
LaunchControlBase::LaunchControlBase() {
|
||||
|
@ -107,7 +115,7 @@ void LaunchControlBase::update() {
|
|||
}
|
||||
|
||||
int rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
combinedConditions = isLaunchConditionMet(rpm) == LaunchCondition::Launch;
|
||||
combinedConditions = isLaunchConditionMet(rpm);
|
||||
|
||||
//and still recalculate in case user changed the values
|
||||
retardThresholdRpm = engineConfiguration->launchRpm
|
||||
|
|
|
@ -27,8 +27,9 @@ public:
|
|||
bool isInsideSpeedCondition() const;
|
||||
bool isInsideTpsCondition() const;
|
||||
bool isInsideSwitchCondition();
|
||||
LaunchCondition isInsideRPMCondition(int rpm) const;
|
||||
LaunchCondition isLaunchConditionMet(int rpm);
|
||||
LaunchCondition calculateRPMLaunchCondition(int rpm) const;
|
||||
bool isInsideRPMCondition(int rpm) const;
|
||||
bool isLaunchConditionMet(int rpm);
|
||||
|
||||
bool isLaunchSparkRpmRetardCondition() const;
|
||||
bool isLaunchFuelRpmRetardCondition() const;
|
||||
|
|
|
@ -78,9 +78,9 @@ TEST(LaunchControl, RPMCondition) {
|
|||
|
||||
engineConfiguration->launchRpm = 3000;
|
||||
|
||||
EXPECT_EQ(dut.isInsideRPMCondition(2900), LaunchCondition::NotMet);
|
||||
EXPECT_EQ(dut.calculateRPMLaunchCondition(2900), LaunchCondition::NotMet);
|
||||
|
||||
EXPECT_EQ(dut.isInsideRPMCondition(3100), LaunchCondition::Launch);
|
||||
EXPECT_EQ(dut.calculateRPMLaunchCondition(3100), LaunchCondition::Launch);
|
||||
}
|
||||
|
||||
TEST(LaunchControl, SwitchInputCondition) {
|
||||
|
@ -141,13 +141,13 @@ TEST(LaunchControl, CombinedCondition) {
|
|||
Sensor::setMockValue(SensorType::VehicleSpeed, 10.0);
|
||||
Sensor::setMockValue(SensorType::Rpm, 1200);
|
||||
|
||||
EXPECT_EQ(dut.isLaunchConditionMet(1200), LaunchCondition::NotMet);
|
||||
EXPECT_FALSE(dut.isLaunchConditionMet(1200));
|
||||
|
||||
Sensor::setMockValue(SensorType::Rpm, 3200);
|
||||
EXPECT_EQ(dut.isLaunchConditionMet(3200), LaunchCondition::Launch);
|
||||
EXPECT_TRUE(dut.isLaunchConditionMet(3200));
|
||||
|
||||
Sensor::setMockValue(SensorType::VehicleSpeed, 40.0);
|
||||
EXPECT_EQ(dut.isLaunchConditionMet(3200), LaunchCondition::NotMet);
|
||||
EXPECT_FALSE(dut.isLaunchConditionMet(3200));
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue