fome-fw/firmware/config/engines/nissan_vq.cpp

79 lines
2.2 KiB
C++
Raw Normal View History

2021-07-02 11:56:12 -07:00
/*
* @file nissan_vq.cpp
*
* Created on: Jul 2, 2021
* @author Andrey Belomutskiy, (c) 2012-2021
*/
#include "pch.h"
2021-07-02 11:56:12 -07:00
#include "nissan_vq.h"
2022-11-02 08:17:24 -07:00
#include "hellen_meta.h"
#define NISSAN_VQ_VVT_OFFSET 157
2021-07-02 11:56:12 -07:00
void setHellen121nissanQR() {
engineConfiguration->trigger.type = TT_NISSAN_QR25;
2023-03-27 00:58:18 -07:00
engineConfiguration->cylindersCount = 4;
engineConfiguration->firingOrder = FO_1_3_4_2;
engineConfiguration->displacement = 2;
strcpy(engineConfiguration->engineCode, "QR");
engineConfiguration->camInputs[1 * CAMS_PER_BANK] = Gpio::Unassigned;
2021-08-11 15:29:02 -07:00
engineConfiguration->vvtMode[0] = VVT_NISSAN_VQ;
// we have this here and not in board_configuration.cpp so that unit test would get this value
engineConfiguration->invertCamVVTSignal = true;
2022-11-02 08:17:24 -07:00
engineConfiguration->vvtOffsets[0] = 157;
}
void setHellen121nissanVQ() {
2022-11-15 06:04:23 -08:00
#include "nissan_vq.lua"
2022-08-05 12:24:12 -07:00
engineConfiguration->trigger.type = TT_NISSAN_VQ35;
2021-07-02 11:56:12 -07:00
2022-11-09 17:57:46 -08:00
setNissanMAF0031(config);
2023-03-27 00:58:18 -07:00
engineConfiguration->cylindersCount = 6;
engineConfiguration->firingOrder = FO_1_2_3_4_5_6;
engineConfiguration->displacement = 4;
strcpy(engineConfiguration->engineCode, "VQ");
2021-07-02 11:56:12 -07:00
engineConfiguration->vvtMode[0] = VVT_NISSAN_VQ;
2021-07-21 20:08:56 -07:00
// we have this here and not in board_configuration.cpp so that unit test would get this value
engineConfiguration->invertCamVVTSignal = true;
2022-11-02 08:17:24 -07:00
engineConfiguration->vvtOffsets[0 * CAMS_PER_BANK] = NISSAN_VQ_VVT_OFFSET;
engineConfiguration->vvtOffsets[1 * CAMS_PER_BANK] = NISSAN_VQ_VVT_OFFSET + NISSAN_VQ_CAM_OFFSET;
// VVT closed loop
engineConfiguration->auxPid[0].pFactor = 2;
engineConfiguration->auxPid[0].iFactor = 0.5;
engineConfiguration->auxPid[0].dFactor = 0.05;
engineConfiguration->auxPid[0].offset = 50;
// engineConfiguration->auxPid[0].minValue = 20;
// engineConfiguration->auxPid[0].maxValue = 90;
#if HW_HELLEN
engineConfiguration->vvtPins[0 * CAMS_PER_BANK] = H176_LS_7;
engineConfiguration->vvtPins[1 * CAMS_PER_BANK] = H176_LS_8;
#endif
2022-08-05 18:01:06 -07:00
engineConfiguration->cranking.baseFuel = 35;
2021-07-02 11:56:12 -07:00
}
2021-08-16 07:56:31 -07:00
void setHellen121nissanAltimaN16() {
2021-08-16 07:56:31 -07:00
// https://en.wikipedia.org/wiki/Nissan_QG_engine
// https://en.wikipedia.org/wiki/N-VCT
setHellen121nissanQR();
2023-03-27 00:58:18 -07:00
engineConfiguration->displacement = 1.8;
strcpy(engineConfiguration->engineCode, "N16");
2021-08-16 07:56:31 -07:00
}