rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Functions | Variables
board_configuration.cpp File Reference

Detailed Description

Configuration defaults for the hellen128 board.

All fabricated boards use 176 pin MCU

See https://rusefi.com/s/hellen128

Author
andreika prome.nosp@m.theu.nosp@m.s.pcb.nosp@m.@gma.nosp@m.il.co.nosp@m.m
Andrey Belomutskiy, (c) 2012-2020

Definition in file board_configuration.cpp.

Functions

static void setInjectorPins ()
 
static void setIgnitionPins ()
 
static void setupDefaultSensorInputs ()
 
static void setHellen128ETBConfig ()
 
static void hellen128_boardConfigOverrides ()
 
static void hellen128_boardDefaultConfiguration ()
 Board-specific configuration defaults.
 
void setup_custom_board_overrides ()
 

Variables

static bool isFirstInvocation = true
 

Function Documentation

◆ hellen128_boardConfigOverrides()

static void hellen128_boardConfigOverrides ( )
static

Definition at line 118 of file board_configuration.cpp.

118 {
120
122
124
125 // this specific Hellen has less common pull-up value R49
128
129 setHellenCan();
130}
static constexpr engine_configuration_s * engineConfiguration
static void setHellen128ETBConfig()
void setHellenCan()
void setHellenVbatt()
void setHellenSdCardSpi2()

Referenced by setup_custom_board_overrides().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hellen128_boardDefaultConfiguration()

static void hellen128_boardDefaultConfiguration ( )
static

Board-specific configuration defaults.

See also setDefaultEngineConfiguration

Jimmy best tune https://rusefi.com/online/view.php?msq=626 md_sanci latest tune https://rusefi.com/online/view.php?msq=630

Definition at line 139 of file board_configuration.cpp.

139 {
142
145 engineConfiguration->fanPin = Gpio::D12; // OUT_PWM8
147
148 engineConfiguration->starterControlPin = H176_OUT_IO10;
151
152 // "required" hardware is done - set some reasonable defaults
154
156
157 /**
158 * Jimmy best tune
159 * https://rusefi.com/online/view.php?msq=626
160 * md_sanci latest tune
161 * https://rusefi.com/online/view.php?msq=630
162 */
163 setPPSInputs(H144_IN_PPS, EFI_ADC_14);
164 setPPSCalibration(1.49, 4.72, 1.34, 4.24);
165
167 hellenWbo();
168}
@ Unassigned
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2)
void setPPSCalibration(float primaryUp, float primaryDown, float secondaryUp, float secondaryDown)
static void setupDefaultSensorInputs()
static void setIgnitionPins()
static void setInjectorPins()
void hellenWbo()
void setMercedesM111EngineConfiguration()
Definition m111.cpp:21

Referenced by setup_custom_board_overrides().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setHellen128ETBConfig()

static void setHellen128ETBConfig ( )
static

Definition at line 62 of file board_configuration.cpp.

62 {
63 BitbangI2c m_i2c;
64 uint8_t variant[2] = {0xff, 0xff};
65
66 //same pins as for LPS25
68 isFirstInvocation = false;
69 m_i2c.init(Gpio::B10, Gpio::B11);
70
71 /* TODO: release pis for LPS25 */
72 }
73 // looks like we support PCF8575 i2c I/O expander
74 m_i2c.read(/*address*/0x20, variant, sizeof(variant));
75
76 //Rev C is different then Rev A/B
77 if ((variant[0] == 0x63) && (variant[1] == 0x00)) {
78 efiPrintf("rev C Board Detected");
79 // TLE9201 driver
80 // This chip has three control pins:
81 // DIR - sets direction of the motor
82 // PWM - pwm control (enable high, coast low)
83 // DIS - disables motor (enable low)
84
85 //ETB1
86 // PWM pin
87 engineConfiguration->etbIo[0].controlPin = H176_OUT_PWM3;
88 // DIR pin
89 engineConfiguration->etbIo[0].directionPin1 = H176_OUT_PWM2;
91 // Disable pin
92 engineConfiguration->etbIo[0].disablePin = H176_OUT_PWM1;
93
94 //ETB2
95 // PWM pin
97 // DIR pin
99 // Disable pin
101
102 // we only have pwm/dir, no dira/dirb
104
105 } else {
106 efiPrintf("A/B BoardID [%02x%02x] ", variant[0], variant[1]);
107 //Set default ETB config
108 engineConfiguration->etbIo[0].directionPin1 = H176_OUT_PWM2;
109 engineConfiguration->etbIo[0].directionPin2 = H176_OUT_PWM3;
110 engineConfiguration->etbIo[0].controlPin = H176_OUT_PWM1; // ETB_EN
113 }
114}
void read(uint8_t addr, uint8_t *data, size_t size)
Definition i2c_bb.cpp:210
bool init(brain_pin_e scl, brain_pin_e sda)
Definition i2c_bb.cpp:37
static bool isFirstInvocation

Referenced by hellen128_boardConfigOverrides().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setIgnitionPins()

static void setIgnitionPins ( )
static

◆ setInjectorPins()

static void setInjectorPins ( )
static

Definition at line 21 of file board_configuration.cpp.

21 {
22 engineConfiguration->injectionPins[0] = H176_LS_1;
23 engineConfiguration->injectionPins[1] = H176_LS_2;
24 engineConfiguration->injectionPins[2] = H176_LS_3;
25 engineConfiguration->injectionPins[3] = H176_LS_4;
26 engineConfiguration->injectionPins[4] = H176_LS_5;
27 engineConfiguration->injectionPins[5] = H176_LS_6;
28 engineConfiguration->injectionPins[6] = H176_LS_7;
29 engineConfiguration->injectionPins[7] = H176_LS_8;
30}

◆ setup_custom_board_overrides()

void setup_custom_board_overrides ( )

Definition at line 170 of file board_configuration.cpp.

170 {
173}
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
std::optional< setup_custom_board_overrides_type > custom_board_DefaultConfiguration
static void hellen128_boardConfigOverrides()
static void hellen128_boardDefaultConfiguration()
Board-specific configuration defaults.
Here is the call graph for this function:

◆ setupDefaultSensorInputs()

static void setupDefaultSensorInputs ( )
static

Definition at line 43 of file board_configuration.cpp.

43 {
44 // trigger inputs
47 // Direct hall-only cam input
49
50 setTPS1Inputs(EFI_ADC_4, EFI_ADC_8);
51
52 engineConfiguration->mafAdcChannel = H144_IN_MAP1;
54
55 engineConfiguration->clt.adcChannel = H144_IN_CLT;
56
57 engineConfiguration->iat.adcChannel = H144_IN_IAT;
58}
void setTPS1Inputs(adc_channel_e tps1, adc_channel_e tps2)
brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]
Here is the call graph for this function:

Variable Documentation

◆ isFirstInvocation

bool isFirstInvocation = true
static

Go to the source code of this file.