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/hellen/hellen-nb1/board_configuration.cpp
3 *
4 *
5 * @brief Configuration defaults for the 8chan board
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
21//static OutputPin alphaCamVrPullUp;
25//static OutputPin alphaD5PullDown;
26
38
39static void setIgnitionPins() {
40 engineConfiguration->ignitionPins[0] = Gpio::H144_IGN_1;
41 engineConfiguration->ignitionPins[1] = Gpio::H144_IGN_2;
42 engineConfiguration->ignitionPins[2] = Gpio::H144_IGN_3;
43 engineConfiguration->ignitionPins[3] = Gpio::H144_IGN_4;
44}
45
47 // trigger inputs, hall
48 engineConfiguration->triggerInputPins[0] = H144_USB1ID;
49 engineConfiguration->triggerInputPins[1] = Gpio::H144_IN_CAM;
51
52 setTPS1Inputs(H144_IN_TPS, H144_IN_AUX1);
53
54 setPPSInputs(H144_IN_PPS, H144_IN_AUX2);
55
56 // random values to have valid config
59
60
62 engineConfiguration->baroSensor.type = MT_MPXH6400;
63// engineConfiguration->baroSensor.hwChannel = H144_IN_MAP3;
64
65 engineConfiguration->afr.hwChannel = EFI_ADC_NONE;
66
67 engineConfiguration->clt.adcChannel = H144_IN_CLT;
68
69 engineConfiguration->iat.adcChannel = H144_IN_IAT;
70}
71
73 setHellenEnPin(Gpio::H144_OUT_IO3);
74
75 alphaTempPullUp.initPin("a-temp", Gpio::H144_OUT_IO4);
76 alphaCrankPPullUp.initPin("a-crank-p", Gpio::H144_OUT_IO5);
77 alphaTachPullUp.initPin("a-tach", Gpio::H144_OUT_IO6);
78 alpha2stepPullDown.initPin("a-2step", Gpio::H144_OUT_IO7);
79 alphaCamPullDown.initPin("a-cam", Gpio::H144_OUT_IO8);
80 //alphaCamVrPullUp.initPin("a-cam-vr", Gpio::H144_OUT_IO9);
81 alphaD2PullDown.initPin("a-d2", H_SPI3_SCK);
82 alphaD3PullDown.initPin("a-d3", H_SPI3_MISO);
83 alphaD4PullDown.initPin("a-d4", H_SPI3_MOSI);
84 //alphaD5PullDown.initPin("a-d5", Gpio::H144_LS_8);
85}
86
98
109
110/**
111 * @brief Board-specific configuration defaults.
112 *
113 * See also setDefaultEngineConfiguration
114 *
115
116 */
120
121 setupTLE9201(/*controlPin*/Gpio::H144_OUT_PWM2, Gpio::H144_GP_IO1, Gpio::H144_GP_IO5);
122 setupTLE9201(/*controlPin*/Gpio::H144_GP_IO4, Gpio::H144_GP_IO3, Gpio::Unassigned, 1);
123
124 engineConfiguration->vvtPins[0] = Gpio::H144_OUT_PWM7;
125 engineConfiguration->vvtPins[1] = Gpio::H144_OUT_PWM8;
126
128
129 engineConfiguration->mainRelayPin = Gpio::H144_OUT_IO10;
130 engineConfiguration->fanPin = Gpio::H144_OUT_IO11;
131 engineConfiguration->fuelPumpPin = Gpio::H144_OUT_IO12;
132 engineConfiguration->tachOutputPin = Gpio::H144_OUT_IO13;
133
134 // "required" hardware is done - set some reasonable defaults
136
138 engineConfiguration->firingOrder = FO_1_3_4_2;
139
140 engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; // IM_WASTED_SPARK
141
142
143 engineConfiguration->launchActivationMode = CLUTCH_INPUT_LAUNCH;
144// ? engineConfiguration->malfunctionIndicatorPin = Gpio::G4; //1E - Check Engine Light
145 engineConfiguration->vrThreshold[0].pin = Gpio::H144_OUT_PWM6;
146 engineConfiguration->vrThreshold[1].pin = Gpio::H144_OUT_PWM4;
147
148 hellenWbo();
149}
150
152 // Wake on the CAN RX pin
153 palEnableLineEvent(PAL_LINE(GPIOD, 0), PAL_EVENT_MODE_RISING_EDGE);
154}
155
156static Gpio OUTPUTS[] = {
157 Gpio::H144_LS_1,
158 Gpio::H144_LS_2,
159 Gpio::H144_LS_3,
160 Gpio::H144_LS_4,
161};
162
164 return efi::size(OUTPUTS);
165}
166
168 return OUTPUTS;
169}
170
void setup_custom_board_overrides()
std::optional< setup_custom_board_overrides_type > custom_board_InitHardware
Definition hardware.cpp:77
Single output pin reference and state.
Definition efi_output.h:49
void initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e outputMode, bool forceInitWithFatalError=false)
Definition efi_gpio.cpp:711
void setValue(const char *msg, int logicValue, bool isForce=false)
Definition efi_gpio.cpp:604
@ Unassigned
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2)
void setTPS1Inputs(adc_channel_e tps1, adc_channel_e tps2)
void setupTLE9201(Gpio controlPin, Gpio direction, Gpio disable, int dcIndex)
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
std::optional< setup_custom_board_overrides_type > custom_board_DefaultConfiguration
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
static OutputPin alphaCamPullDown
static OutputPin alphaTachPullUp
static OutputPin alphaCrankPPullUp
static void setupDefaultSensorInputs()
static Gpio OUTPUTS[]
static void setIgnitionPins()
static OutputPin alphaTempPullUp
void boardPrepareForStop()
void boardOnConfigurationChange(engine_configuration_s *)
static OutputPin alpha2stepPullDown
int getBoardMetaOutputsCount()
Gpio * getBoardMetaOutputs()
static void setInjectorPins()
static OutputPin alphaD2PullDown
static OutputPin alphaD3PullDown
static OutputPin alphaD4PullDown
static void alphax_8chan_reva_boardDefaultConfiguration()
Board-specific configuration defaults.
static void alphax_8chan_reva_boardConfigOverrides()
static void alphax_8chan_reva_boardInitHardware()
void setHellenCan()
void hellenWbo()
void setHellenVbatt()
void setHellenEnPin(Gpio pin, bool enableBoardOnStartUp)
void setHellenCan2()
void setHellenSdCardSpi2()
void setDefaultHellenAtPullUps(float pullup=HELLEN_DEFAULT_AT_PULLUP)
brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]