rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
config
boards
kinetis
board_configuration.cpp
Go to the documentation of this file.
1
/**
2
* @file boards/kinetis/board_configuration.h
3
*
4
* @brief In this file we can override engine_configuration.cpp.
5
*
6
* @date Mar 22, 2019
7
* @author andreika, (c) 2019
8
*/
9
10
#include "
pch.h
"
11
#include "
board_overrides.h
"
12
13
#if 0
14
char
__debugBuffer
[80];
15
int
__debugEnabled
= 0;
16
#endif
17
18
Gpio
getWarningLedPin
() {
19
// this board has no warning led
20
return
Gpio::Unassigned
;
21
}
22
23
Gpio
getRunningLedPin
() {
24
return
Gpio::Unassigned
;
25
}
26
27
Gpio
getCommsLedPin
() {
28
// this board has no comms led
29
return
Gpio::Unassigned
;
30
}
31
32
static
void
setSerialConfigurationOverrides
() {
33
engineConfiguration
->binarySerialTxPin =
Gpio::C7
;
34
engineConfiguration
->binarySerialRxPin =
Gpio::C6
;
35
// engineConfiguration->consoleSerialTxPin = Gpio::A10;
36
// engineConfiguration->consoleSerialRxPin = Gpio::A11;
37
engineConfiguration
->tunerStudioSerialSpeed = SERIAL_SPEED;
38
engineConfiguration
->uartConsoleSerialSpeed = SERIAL_SPEED;
39
}
40
41
static
void
kinetis_boardConfigOverrides
() {
42
engineConfiguration
->useNoiselessTriggerDecoder =
true
;
43
44
setAlgorithm
(engine_load_mode_e::LM_SPEED_DENSITY);
45
46
engineConfiguration
->cylindersCount = 4;
47
engineConfiguration
->firingOrder = FO_1_3_4_2;
48
49
engineConfiguration
->ignitionMode = IM_WASTED_SPARK;
50
engineConfiguration
->crankingInjectionMode = IM_SIMULTANEOUS;
51
engineConfiguration
->injectionMode = IM_SIMULTANEOUS;
52
53
engineConfiguration
->globalTriggerAngleOffset = 114;
// the end of 19th tooth?
54
55
engineConfiguration
->displacement = 1.645;
56
engineConfiguration
->injector.flow = 200;
57
58
setTable
(
config
->crankingCycleBaseFuel, 25);
// ???
59
engineConfiguration
->cranking.rpm = 600;
60
61
engineConfiguration
->map.sensor.type = MT_MPX4250A;
62
63
engineConfiguration
->idleStepperReactionTime = 10;
64
engineConfiguration
->stepperDirectionPinMode = OM_INVERTED;
65
66
engineConfiguration
->useLinearCltSensor =
true
;
67
// todo:
68
engineConfiguration
->clt.config.resistance_1 = 0;
69
engineConfiguration
->clt.config.tempC_1 = -40.0f;
70
engineConfiguration
->clt.config.resistance_2 = 5.0f;
71
engineConfiguration
->clt.config.tempC_2 = 120.0f,
72
engineConfiguration
->clt.config.bias_resistor = 3300;
73
74
engineConfiguration
->tpsMin =
convertVoltageTo10bitADC
(0.250);
75
engineConfiguration
->tpsMax =
convertVoltageTo10bitADC
(4.538);
76
engineConfiguration
->tpsErrorDetectionTooLow = -10;
// -10% open
77
engineConfiguration
->tpsErrorDetectionTooHigh = 110;
// 110% open
78
79
engineConfiguration
->mapMinBufferLength = 4;
80
81
engineConfiguration
->clt.adcChannel = EFI_ADC_14;
82
83
engineConfiguration
->triggerInputPins[0] =
Gpio::E7
;
84
engineConfiguration
->triggerInputPins[1] =
Gpio::Unassigned
;
85
86
engineConfiguration
->tle6240spiDevice = SPI_DEVICE_1;
87
engineConfiguration
->tle6240_cs =
Gpio::B0
;
88
89
// todo:
90
int
i;
91
for
(i = 0; i < MAX_CYLINDER_COUNT; i++)
92
engineConfiguration
->injectionPins[i] =
Gpio::Unassigned
;
93
for
(i = 0; i < MAX_CYLINDER_COUNT; i++)
94
engineConfiguration
->ignitionPins[i] =
Gpio::Unassigned
;
95
96
engineConfiguration
->adcVcc = 5.0f;
97
engineConfiguration
->analogInputDividerCoefficient = 1;
98
99
//engineConfiguration->isFastAdcEnabled = false;
100
101
// we call it here because setDefaultBoardConfiguration() is not called for DEFAULT_ENGINE_TYPE=MINIMAL_PINS
102
setSerialConfigurationOverrides
();
103
}
104
105
void
setAdcChannelOverrides
() {
106
// on Kinetis, ADC_FAST & SLOW are not really "fast" or "slow",
107
// they are just different ADC numbers with different sets of channels
108
removeChannel
(
"VBatt"
,
engineConfiguration
->vbattAdcChannel);
109
addFastAdcChannel
(
"VBatt"
,
engineConfiguration
->vbattAdcChannel);
110
111
removeChannel
(
"TPS"
,
engineConfiguration
->tps1_1AdcChannel);
112
addFastAdcChannel
(
"TPS"
,
engineConfiguration
->tps1_1AdcChannel);
113
}
114
115
#include <setjmp.h>
116
117
void
longjmp
(jmp_buf
/*env*/
,
int
/*status*/
) {
118
// noop, but noreturn
119
while
(1) { }
120
}
121
122
int
setjmp
(jmp_buf
/*env*/
) {
123
// Fake return 0, not implemented
124
return
0;
125
}
126
127
void
setup_custom_board_overrides
() {
128
custom_board_ConfigOverrides
=
kinetis_boardConfigOverrides
;
129
}
removeChannel
void removeChannel(const char *, adc_channel_e hwChannel)
Definition
adc_inputs.cpp:206
addFastAdcChannel
void addFastAdcChannel(const char *, adc_channel_e hwChannel)
Definition
adc_inputs.cpp:193
getWarningLedPin
Gpio getWarningLedPin()
Definition
board_configuration.cpp:11
getCommsLedPin
Gpio getCommsLedPin()
Definition
board_configuration.cpp:3
getRunningLedPin
Gpio getRunningLedPin()
Definition
board_configuration.cpp:7
setup_custom_board_overrides
void setup_custom_board_overrides()
Definition
board_configuration.cpp:40
board_overrides.h
Gpio
Gpio
Definition
rusefi_hw_enums.h:14
Gpio::Unassigned
@ Unassigned
Gpio::E7
@ E7
Gpio::B0
@ B0
Gpio::C7
@ C7
Gpio::C6
@ C6
setAdcChannelOverrides
void setAdcChannelOverrides()
Definition
board_configuration.cpp:85
custom_board_ConfigOverrides
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
Definition
engine_configuration.cpp:71
config
static constexpr persistent_config_s * config
Definition
engine_configuration.h:82
engineConfiguration
static constexpr engine_configuration_s * engineConfiguration
Definition
engine_configuration.h:81
setAlgorithm
void setAlgorithm(engine_load_mode_e algo)
Definition
engine_math.cpp:153
setSerialConfigurationOverrides
static void setSerialConfigurationOverrides()
Definition
board_configuration.cpp:32
__debugBuffer
char __debugBuffer[80]
Definition
board_configuration.cpp:14
setjmp
int setjmp(jmp_buf)
Definition
board_configuration.cpp:122
kinetis_boardConfigOverrides
static void kinetis_boardConfigOverrides()
Definition
board_configuration.cpp:41
longjmp
void longjmp(jmp_buf, int)
Definition
board_configuration.cpp:117
__debugEnabled
int __debugEnabled
Definition
board_configuration.cpp:15
pch.h
setTable
constexpr void setTable(TElement(&dest)[N][M], const VElement value)
Definition
table_helper.h:167
convertVoltageTo10bitADC
constexpr int convertVoltageTo10bitADC(float voltage)
Definition
tps.h:21
Generated on Fri Dec 12 2025 01:56:08 for rusEFI by
1.9.8