rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
config
boards
hellen
uaefi121
board_configuration_uaefi121.cpp
Go to the documentation of this file.
1
/**
2
* See https://rusefi.com/s/uaefi121
3
*
4
* @author Andrey Belomutskiy, (c) 2012-2023
5
*/
6
7
#include "
pch.h
"
8
#include "
defaults.h
"
9
#include "
hellen_meta.h
"
10
#include "
mega-uaefi.h
"
11
#include "
board_overrides.h
"
12
13
static
void
setupDefaultSensorInputs
() {
14
engineConfiguration
->tps1_1AdcChannel = MM100_IN_TPS_ANALOG;
15
engineConfiguration
->tps1_2AdcChannel = MM100_IN_AUX1_ANALOG;
16
engineConfiguration
->map.sensor.hwChannel = MM100_IN_MAP1_ANALOG;
17
18
setPPSInputs
(MM100_IN_PPS_ANALOG, MM100_IN_AUX2_ANALOG);
19
20
engineConfiguration
->clt.adcChannel = MM100_IN_CLT_ANALOG;
21
engineConfiguration
->iat.adcChannel = MM100_IN_IAT_ANALOG;
22
23
engineConfiguration
->triggerInputPins[0] = Gpio::MM100_UART8_TX;
// VR2 max9924 is the safer default
24
engineConfiguration
->camInputs[0] = Gpio::MM100_IN_D2;
// HALL2
25
engineConfiguration
->camInputs[1] = Gpio::MM100_IN_D3;
// HALL3
26
27
engineConfiguration
->vehicleSpeedSensorInputPin = Gpio::MM100_IN_D1;
// HALL1
28
}
29
30
static
void
uaefi_121boardDefaultConfiguration
() {
31
setMegaUaefiBoardDefaultConfiguration
();
32
33
engineConfiguration
->mainRelayPin = Gpio::MM100_IGN7;
34
engineConfiguration
->fuelPumpPin = Gpio::MM100_IGN8;
35
36
engineConfiguration
->enableSoftwareKnock =
true
;
37
38
// SPI3 for on-board EGT
39
engineConfiguration
->is_enabled_spi_3 =
true
;
40
// MOSI not needed, we have one-way communication here
41
engineConfiguration
->spi3misoPin =
Gpio::C11
;
42
engineConfiguration
->spi3sckPin =
Gpio::C10
;
43
engineConfiguration
->max31855_cs[0] =
Gpio::A15
;
44
engineConfiguration
->max31855spiDevice = SPI_DEVICE_3;
45
46
engineConfiguration
->injectionPins[0] = Gpio::MM100_MEGA_UAEFI_INJ1;
47
engineConfiguration
->injectionPins[1] = Gpio::MM100_INJ2;
48
engineConfiguration
->injectionPins[2] = Gpio::MM100_INJ3;
49
engineConfiguration
->injectionPins[3] = Gpio::MM100_INJ4;
50
engineConfiguration
->injectionPins[4] = Gpio::MM100_INJ5;
51
engineConfiguration
->injectionPins[5] = Gpio::MM100_INJ6;
52
53
engineConfiguration
->ignitionPins[0] = Gpio::MM100_IGN1;
54
engineConfiguration
->ignitionPins[1] = Gpio::MM100_IGN2;
55
engineConfiguration
->ignitionPins[2] = Gpio::MM100_IGN3;
56
engineConfiguration
->ignitionPins[3] = Gpio::MM100_IGN4;
57
engineConfiguration
->ignitionPins[4] = Gpio::MM100_IGN5;
58
engineConfiguration
->ignitionPins[5] = Gpio::MM100_IGN6;
59
60
setupDefaultSensorInputs
();
61
}
62
63
int
getBoardMetaDcOutputsCount
() {
64
return
2;
65
}
66
67
static
Gpio
OUTPUTS
[] = {
68
Gpio::MM100_MEGA_UAEFI_INJ1,
// 44a INJ_1
69
Gpio::MM100_INJ2,
// 45a INJ_2
70
Gpio::MM100_INJ3,
// 46a INJ_3
71
Gpio::MM100_INJ4,
// 47a INJ_4
72
Gpio::MM100_INJ5,
// 48a INJ_5
73
Gpio::MM100_INJ6,
// 49a INJ_6
74
Gpio::MM100_SPI2_CS,
// 50a INJ_7
75
Gpio::MM100_MEGA_UAEFI_SPI2_SCK,
// 51a INJ_8
76
Gpio::MM100_INJ7,
// 14a LS1
77
Gpio::MM100_INJ8,
// 15a LS2
78
Gpio::MM100_OUT_PWM1,
// 16a LS3
79
Gpio::MM100_OUT_PWM2,
// 88a LS4
80
Gpio::MM100_IGN7,
// 86a LS5_HOT
81
Gpio::MM100_IGN8,
// 87a LS6_HOT fuelpump
82
Gpio::MM100_LED2_GREEN,
// 43a High Side Output
83
Gpio::MM100_IGN1,
// Coil 1
84
Gpio::MM100_IGN2,
// Coil 2
85
Gpio::MM100_IGN3,
// Coil 3
86
Gpio::MM100_IGN4,
// Coil 4
87
Gpio::MM100_IGN5,
// Coil 5
88
Gpio::MM100_IGN6,
// Coil 6
89
};
90
91
static
Gpio
SBC_OUTPUTS
[] = {
92
Gpio::MM100_MEGA_UAEFI_INJ1,
// 44a INJ_1
93
Gpio::MM100_INJ2,
// 45a INJ_2
94
Gpio::MM100_INJ3,
// 46a INJ_3
95
Gpio::MM100_INJ4,
// 47a INJ_4
96
Gpio::MM100_INJ5,
// 48a INJ_5
97
Gpio::MM100_INJ6,
// 49a INJ_6
98
Gpio::MM100_SPI2_CS,
// 50a INJ_7
99
Gpio::MM100_MEGA_UAEFI_SPI2_SCK,
// 51a INJ_8
100
Gpio::MM100_IGN8,
// 87a LS6_HOT fuelpump
101
Gpio::MM100_IGN1,
// Coil 1
102
Gpio::MM100_IGN2,
// Coil 2
103
104
};
105
106
int
getBoardMetaOutputsCount
() {
107
if
(
engineConfiguration
->engineType ==
engine_type_e::GM_SBC
) {
108
return
efi::size(
SBC_OUTPUTS
);
109
}
110
return
efi::size(
OUTPUTS
);
111
}
112
113
int
getBoardMetaLowSideOutputsCount
() {
114
if
(
engineConfiguration
->engineType ==
engine_type_e::GM_SBC
) {
115
return
getBoardMetaOutputsCount
() - 3;
116
}
117
return
getBoardMetaOutputsCount
() - 1 - 6;
118
}
119
120
Gpio
*
getBoardMetaOutputs
() {
121
if
(
engineConfiguration
->engineType ==
engine_type_e::GM_SBC
) {
122
return
SBC_OUTPUTS
;
123
}
124
return
OUTPUTS
;
125
}
126
127
void
setup_custom_board_overrides
() {
128
custom_board_DefaultConfiguration
=
uaefi_121boardDefaultConfiguration
;
129
custom_board_ConfigOverrides
=
setMegaUaefiBoardConfigOverrides
;
130
}
setupDefaultSensorInputs
static void setupDefaultSensorInputs()
Definition
board_configuration_uaefi121.cpp:13
OUTPUTS
static Gpio OUTPUTS[]
Definition
board_configuration_uaefi121.cpp:67
getBoardMetaLowSideOutputsCount
int getBoardMetaLowSideOutputsCount()
Definition
board_configuration_uaefi121.cpp:113
getBoardMetaDcOutputsCount
int getBoardMetaDcOutputsCount()
Definition
board_configuration_uaefi121.cpp:63
getBoardMetaOutputsCount
int getBoardMetaOutputsCount()
Definition
board_configuration_uaefi121.cpp:106
setup_custom_board_overrides
void setup_custom_board_overrides()
Definition
board_configuration_uaefi121.cpp:127
SBC_OUTPUTS
static Gpio SBC_OUTPUTS[]
Definition
board_configuration_uaefi121.cpp:91
getBoardMetaOutputs
Gpio * getBoardMetaOutputs()
Definition
board_configuration_uaefi121.cpp:120
uaefi_121boardDefaultConfiguration
static void uaefi_121boardDefaultConfiguration()
Definition
board_configuration_uaefi121.cpp:30
board_overrides.h
Gpio
Gpio
Definition
rusefi_hw_enums.h:14
Gpio::C11
@ C11
Gpio::A15
@ A15
Gpio::C10
@ C10
setPPSInputs
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2)
Definition
default_base_engine.cpp:430
defaults.h
custom_board_ConfigOverrides
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
Definition
engine_configuration.cpp:71
custom_board_DefaultConfiguration
std::optional< setup_custom_board_overrides_type > custom_board_DefaultConfiguration
Definition
engine_configuration.cpp:70
engineConfiguration
static constexpr engine_configuration_s * engineConfiguration
Definition
engine_configuration.h:81
engine_type_e::GM_SBC
@ GM_SBC
hellen_meta.h
setMegaUaefiBoardConfigOverrides
void setMegaUaefiBoardConfigOverrides()
Definition
mega-uaefi.cpp:8
setMegaUaefiBoardDefaultConfiguration
void setMegaUaefiBoardDefaultConfiguration()
Definition
mega-uaefi.cpp:28
mega-uaefi.h
pch.h
Generated on Sun Dec 14 2025 02:02:28 for rusEFI by
1.9.8