diff --git a/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp b/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp index 08967b9d57..da745560d9 100644 --- a/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp @@ -19,16 +19,14 @@ static void hellenWbo() { } static void setInjectorPins() { - engineConfiguration->injectionPins[0] = GPIOG_7; - engineConfiguration->injectionPins[1] = GPIOG_8; - engineConfiguration->injectionPins[2] = GPIOD_11; - engineConfiguration->injectionPins[3] = GPIOD_10; - engineConfiguration->injectionPins[4] = GPIOD_9; - engineConfiguration->injectionPins[5] = GPIOF_12; + engineConfiguration->injectionPins[0] = H144_LS_1; + engineConfiguration->injectionPins[1] = H144_LS_2; + engineConfiguration->injectionPins[2] = H144_LS_3; + engineConfiguration->injectionPins[3] = H144_LS_4; // Disable remainder - for (int i = 6; i < MAX_CYLINDER_COUNT;i++) { + for (int i = 4; i < MAX_CYLINDER_COUNT;i++) { engineConfiguration->injectionPins[i] = GPIO_UNASSIGNED; } @@ -40,11 +38,9 @@ static void setIgnitionPins() { engineConfiguration->ignitionPins[1] = GPIOE_5; engineConfiguration->ignitionPins[2] = GPIOE_4; engineConfiguration->ignitionPins[3] = GPIOE_3; - engineConfiguration->ignitionPins[4] = GPIOE_2; - engineConfiguration->ignitionPins[5] = GPIOB_8; // disable remainder - for (int i = 6; i < MAX_CYLINDER_COUNT; i++) { + for (int i = 4; i < MAX_CYLINDER_COUNT; i++) { engineConfiguration->ignitionPins[i] = GPIO_UNASSIGNED; } @@ -130,8 +126,8 @@ void setBoardDefaultConfiguration(void) { CONFIG(enableSoftwareKnock) = true; CONFIG(canNbcType) = CAN_BUS_NISSAN_VQ; - engineConfiguration->canTxPin = GPIOD_1; - engineConfiguration->canRxPin = GPIOD_0; + engineConfiguration->canTxPin = H176_CAN_TX; + engineConfiguration->canRxPin = H176_CAN_RX; // engineConfiguration->fuelPumpPin = GPIOG_2; // OUT_IO9 // engineConfiguration->idle.solenoidPin = GPIOD_14; // OUT_PWM5 @@ -154,14 +150,22 @@ void setBoardDefaultConfiguration(void) { setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX); - // Bosch VQ40 VR56 VK56 0280158007 - engineConfiguration->injector.flow = 296.2; + // 2010-2012 315cc at 43.5psi + // fuel system is fixed pressure 55psi + // 2013+ 450cc at 43.5 + // fuel system is fixed pressure 85psi + // flow rate P2 = flow rate P1 * sqrt(P2/P1) + engineConfiguration->injector.flow = 354.19; // https://www.google.com/search?q=315*sqrt%2855%2F43.5%29 + // todo: split engine generations + engineConfiguration->injector.flow = 629.03; // https://www.google.com/search?q=450*sqrt%2885%2F43.5%29 - engineConfiguration->specs.cylindersCount = 6; - engineConfiguration->specs.firingOrder = FO_1_2_3_4_5_6; - engineConfiguration->specs.displacement = 4; - strcpy(CONFIG(engineMake), ENGINE_MAKE_NISSAN); - strcpy(CONFIG(engineCode), "VQ"); + engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure; + + engineConfiguration->specs.cylindersCount = 4; + engineConfiguration->specs.firingOrder = FO_1_3_4_2; + engineConfiguration->specs.displacement = 1.998; + strcpy(CONFIG(engineMake), ENGINE_MAKE_Hyundai); + strcpy(CONFIG(engineCode), "Theta II"); engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; // IM_WASTED_SPARK engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; diff --git a/firmware/config/boards/hellen/hellen154hyundai/connectors/main.yaml b/firmware/config/boards/hellen/hellen154hyundai/connectors/main.yaml index b277f10fd4..1ddb8d5aeb 100644 --- a/firmware/config/boards/hellen/hellen154hyundai/connectors/main.yaml +++ b/firmware/config/boards/hellen/hellen154hyundai/connectors/main.yaml @@ -122,6 +122,22 @@ pins: - pin: K61 function: Analog Ground + - pin: K64 +# H144_OUT_IO3 + id: GPIOG_14 + class: outputs + ts_name: Main Relay K64 + function: Main relay control + type: ls + + - pin: K70 +# H144_OUT_IO9 + id: GPIOG_13 + class: outputs + ts_name: Fuel Pump K70 + function: Fuel Pump Relay + type: ls + - pin: K77 function: CAN bus high type: can @@ -148,7 +164,15 @@ pins: ts_name: Tacho function: Tachometer + - pin: K88 + # H144_OUT_IO8 + id: GPIOG_4 + ts_name: Fan Relay HI + function: Fan relay high + - pin: K92 + # H144_OUT_PWM8 + id: GPIOD_12 ts_name: MIL function: Check Engine Light diff --git a/firmware/config/boards/hellen/hellen_meta.h b/firmware/config/boards/hellen/hellen_meta.h index 0330615d94..e1490e8867 100644 --- a/firmware/config/boards/hellen/hellen_meta.h +++ b/firmware/config/boards/hellen/hellen_meta.h @@ -14,6 +14,16 @@ #define H144_LS_5 GPIOD_9 #define H144_LS_6 GPIOF_12 +#define H144_OUT_PWM1 GPIOD_13 +#define H144_OUT_PWM2 GPIOC_6 +#define H144_OUT_PWM3 GPIOC_7 +#define H144_OUT_PWM4 GPIOC_8 +#define H144_OUT_PWM5 GPIOC_9 +#define H144_OUT_PWM6 GPIOD_14 +#define H144_OUT_PWM7 GPIOD_15 +#define H144_OUT_PWM8 GPIOD_12 + + #define H144_OUT_IO1 GPIOD_3 #define H144_OUT_IO2 GPIOA_9 #define H144_OUT_IO3 GPIOG_14 @@ -44,6 +54,7 @@ #define H176_OUT_IO9 GPIOI_1 #define H176_OUT_IO10 GPIOI_0 +// same pins 144 and 176 #define H176_CAN_RX GPIOD_0 #define H176_CAN_TX GPIOD_1