HPFP control on cam with variable timing fix #6245

This commit is contained in:
Andrey 2024-03-17 22:30:50 -04:00
parent db2f38cba3
commit 15a313aced
4 changed files with 7 additions and 8 deletions

View File

@ -39,6 +39,7 @@ Release template (copy/paste this for new release):
- Disabling slow connectivity mode for now #6170
- hellen128 better ETB pin choice between rev A/B and C
- Base map values for Open Loop Boost Duty should be 0% #6188
- HPFP control on cam with variable timing #6245
## March 2024 "Day 740"

View File

@ -67,7 +67,7 @@ angle_t HpfpLobe::findNextLobe() {
// TODO: Is the sign correct here? + means ATDC?
vvt = engine->triggerCentral.getVVTPosition(
BANK_BY_INDEX(camIndex),
CAM_BY_INDEX(camIndex)) / mult * engineConfiguration->magicNumberAvailableForDevTricks;
CAM_BY_INDEX(camIndex)) / mult;
}
return engineConfiguration->hpfpPeakPos + vvt + next_index * 720 / lobes;

View File

@ -8,16 +8,15 @@ using ::testing::StrictMock;
TEST(HPFP, Lobe) {
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
engineConfiguration->magicNumberAvailableForDevTricks = 2;
engineConfiguration->hpfpCam = HPFP_CAM_NONE;
engineConfiguration->hpfpPeakPos = 123;
engineConfiguration->hpfpCamLobes = 3;
engine->triggerCentral.vvtPosition[0][0] = 20; // Bank 0
engine->triggerCentral.vvtPosition[0][1] = 40;
engine->triggerCentral.vvtPosition[1][0] = 60; // Bank 1
engine->triggerCentral.vvtPosition[1][1] = 80;
engine->triggerCentral.vvtPosition[0][0] = 40; // Bank 0
engine->triggerCentral.vvtPosition[0][1] = 80;
engine->triggerCentral.vvtPosition[1][0] =120; // Bank 1
engine->triggerCentral.vvtPosition[1][1] =160;
HpfpLobe lobe;

View File

@ -20,7 +20,6 @@ TEST(HPFP, IntegratedSchedule) {
EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) {
engineConfiguration->hpfpValvePin = Gpio::A2; // arbitrary
});
engineConfiguration->magicNumberAvailableForDevTricks = 2;
engineConfiguration->cylindersCount = 4;
engineConfiguration->hpfpCamLobes = 3;
@ -48,7 +47,7 @@ TEST(HPFP, IntegratedSchedule) {
assertToggleCounterExtra(&eth, 6);
engine->triggerCentral.vvtPosition[0][0] = -50; // Bank 0
engine->triggerCentral.vvtPosition[0][0] = -100; // Bank 0
assertToggleCounterExtra(&eth, 8);