rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
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
16#endif
17
19 // this board has no warning led
20 return Gpio::Unassigned;
21}
22
26
28 // this board has no comms led
29 return Gpio::Unassigned;
30}
31
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
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
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
103}
104
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
117void longjmp(jmp_buf /*env*/, int /*status*/) {
118 // noop, but noreturn
119 while (1) { }
120}
121
122int setjmp(jmp_buf /*env*/) {
123 // Fake return 0, not implemented
124 return 0;
125}
126
void removeChannel(const char *, adc_channel_e hwChannel)
void addFastAdcChannel(const char *, adc_channel_e hwChannel)
Gpio getWarningLedPin()
Gpio getCommsLedPin()
Gpio getRunningLedPin()
void setup_custom_board_overrides()
@ Unassigned
void setAdcChannelOverrides()
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
void setAlgorithm(engine_load_mode_e algo)
static void setSerialConfigurationOverrides()
char __debugBuffer[80]
int setjmp(jmp_buf)
static void kinetis_boardConfigOverrides()
void longjmp(jmp_buf, int)
int __debugEnabled
constexpr void setTable(TElement(&dest)[N][M], const VElement value)
constexpr int convertVoltageTo10bitADC(float voltage)
Definition tps.h:21