rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
board_configuration.cpp
Go to the documentation of this file.
1/**
2 * @file board_configuration.cpp
3 *
4 *
5 * See https://rusefi.com/s/XXX
6 *
7 * @author andreika <prometheus.pcb@gmail.com>
8 * @author Andrey Belomutskiy, (c) 2012-2020
9 */
10
11#include "pch.h"
12#include "hellen_meta.h"
13#include "defaults.h"
14#include "board_overrides.h"
15
16static void setInjectorPins() {
17 engineConfiguration->injectionPins[0] = Gpio::H144_LS_1;
18 engineConfiguration->injectionPins[1] = Gpio::H144_LS_2;
19 engineConfiguration->injectionPins[2] = Gpio::H144_LS_3;
20 engineConfiguration->injectionPins[3] = Gpio::H144_LS_4;
21 engineConfiguration->injectionPins[4] = Gpio::H144_LS_5;
22 engineConfiguration->injectionPins[5] = Gpio::H144_LS_6;
23}
24
25static void setIgnitionPins() {
26 engineConfiguration->ignitionPins[0] = Gpio::H144_IGN_1;
27 engineConfiguration->ignitionPins[1] = Gpio::H144_IGN_2;
28 engineConfiguration->ignitionPins[2] = Gpio::H144_IGN_3;
29 engineConfiguration->ignitionPins[3] = Gpio::H144_IGN_4;
30 engineConfiguration->ignitionPins[4] = Gpio::H144_IGN_5;
31 engineConfiguration->ignitionPins[5] = Gpio::H144_IGN_6;
32}
33
35 // trigger inputs
36 engineConfiguration->triggerInputPins[0] = Gpio::H144_IN_CRANK;
38 // Direct hall-only cam input
39 engineConfiguration->camInputs[0] = Gpio::H144_IN_CAM;
40
43
44 setPPSInputs(EFI_ADC_3, EFI_ADC_14);
47
48 engineConfiguration->clt.adcChannel = H144_IN_CLT;
49
50 engineConfiguration->iat.adcChannel = H144_IN_IAT;
51}
52
53
54
57
58 // hellen88bmw uses L6205PD
59 engineConfiguration->etbIo[0].directionPin1 = Gpio::H144_OUT_PWM2; // ETB+
60 engineConfiguration->etbIo[0].directionPin2 = Gpio::H144_OUT_PWM3; // ETB-
61 engineConfiguration->etbIo[0].controlPin = Gpio::H144_OUT_PWM1; // ETB_EN
63
65
68}
69
70/**
71 * @brief Board-specific configuration defaults.
72 *
73 * See also setDefaultEngineConfiguration
74 *
75
76 */
80
82
84 engineConfiguration->canNbcType = CAN_BUS_NISSAN_VQ;
85
87
88 engineConfiguration->fuelPumpPin = Gpio::D12; // OUT_IO9 // 113 Fuel Pump Relay
89 engineConfiguration->idle.solenoidPin = Gpio::H144_OUT_PWM5;
90// engineConfiguration->fanPin = Gpio::D12; // OUT_PWM8
91 engineConfiguration->mainRelayPin = Gpio::H144_OUT_IO3; // pin: 111a
92 engineConfiguration->tachOutputPin = Gpio::H144_OUT_PWM7;
93
94 // "required" hardware is done - set some reasonable defaults
96
97 // Some sensible defaults for other options
99
100 setAlgorithm(engine_load_mode_e::LM_SPEED_DENSITY);
101
102 // Bosch VQ40 VR56 VK56 0280158007
104
105 strcpy(engineConfiguration->engineMake, ENGINE_MAKE_BMW);
106
107 engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; // IM_WASTED_SPARK
108
109 engineConfiguration->luaOutputPins[0] = Gpio::G5; // 104 ETB Relay
110
111 setPPSCalibration(0.75, 4.45, 0.43, 2.20);
112
113 // this calibration reminds me of VAG just flipped?
116
119 hellenWbo();
120}
121
126
void setup_custom_board_overrides()
@ Unassigned
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2)
void setPPSCalibration(float primaryUp, float primaryDown, float secondaryUp, float secondaryDown)
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
std::optional< setup_custom_board_overrides_type > custom_board_DefaultConfiguration
void setCrankOperationMode()
static constexpr engine_configuration_s * engineConfiguration
void setAlgorithm(engine_load_mode_e algo)
static void setupDefaultSensorInputs()
static void setIgnitionPins()
static void setInjectorPins()
static void hellen88_boardDefaultConfiguration()
Board-specific configuration defaults.
static void hellen88_boardConfigOverrides()
void setHellenCan()
void hellenWbo()
void setHellenVbatt()
void setHellenSdCardSpi3()
brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]