rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
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
14 return Gpio::MM100_LED3_BLUE;
15}
16
18 // this one is used to drive tach pin 43
19 return Gpio::Unassigned;
20}
21
23 return Gpio::MM100_LED4_YELLOW;
24}
25
27 engineConfiguration->tps1_1AdcChannel = MM100_IN_TPS_ANALOG;
28 engineConfiguration->tps1_2AdcChannel = MM100_IN_AUX1_ANALOG;
29 engineConfiguration->map.sensor.hwChannel = MM100_IN_MAP1_ANALOG;
30
31 setPPSInputs(MM100_IN_PPS_ANALOG, MM100_IN_AUX2_ANALOG);
32
33 engineConfiguration->clt.adcChannel = MM100_IN_CLT_ANALOG;
34 engineConfiguration->iat.adcChannel = MM100_IN_IAT_ANALOG;
35
36 engineConfiguration->triggerInputPins[0] = Gpio::MM100_UART8_TX; // VR2 max9924 is the safer default
37 engineConfiguration->camInputs[0] = Gpio::MM100_IN_D2; // HALL2
38 engineConfiguration->camInputs[1] = Gpio::MM100_IN_D3; // HALL3
39
40 engineConfiguration->vehicleSpeedSensorInputPin = Gpio::MM100_IN_D1; // HALL1
41}
42
45
46 engineConfiguration->mainRelayPin = Gpio::MM100_IGN7;
47 engineConfiguration->fuelPumpPin = Gpio::MM100_IGN8;
48
50
51 // SPI3 for on-board EGT
53 // MOSI not needed, we have one-way communication here
58
59 engineConfiguration->injectionPins[0] = Gpio::MM100_MEGA_UAEFI_INJ1;
60 engineConfiguration->injectionPins[1] = Gpio::MM100_INJ2;
61 engineConfiguration->injectionPins[2] = Gpio::MM100_INJ3;
62 engineConfiguration->injectionPins[3] = Gpio::MM100_INJ4;
63 engineConfiguration->injectionPins[4] = Gpio::MM100_INJ5;
64 engineConfiguration->injectionPins[5] = Gpio::MM100_INJ6;
65
66 engineConfiguration->ignitionPins[0] = Gpio::MM100_IGN1;
67 engineConfiguration->ignitionPins[1] = Gpio::MM100_IGN2;
68 engineConfiguration->ignitionPins[2] = Gpio::MM100_IGN3;
69 engineConfiguration->ignitionPins[3] = Gpio::MM100_IGN4;
70 engineConfiguration->ignitionPins[4] = Gpio::MM100_IGN5;
71 engineConfiguration->ignitionPins[5] = Gpio::MM100_IGN6;
72
74}
75
77 return 2;
78}
79
80static Gpio OUTPUTS[] = {
81 Gpio::MM100_MEGA_UAEFI_INJ1, // 44a INJ_1
82 Gpio::MM100_INJ2, // 45a INJ_2
83 Gpio::MM100_INJ3, // 46a INJ_3
84 Gpio::MM100_INJ4, // 47a INJ_4
85 Gpio::MM100_INJ5, // 48a INJ_5
86 Gpio::MM100_INJ6, // 49a INJ_6
87 Gpio::MM100_SPI2_CS, // 50a INJ_7
88 Gpio::MM100_MEGA_UAEFI_SPI2_SCK, // 51a INJ_8
89 Gpio::MM100_INJ7, // 14a LS1
90 Gpio::MM100_INJ8, // 15a LS2
91 Gpio::MM100_OUT_PWM1, // 16a LS3
92 Gpio::MM100_OUT_PWM2, // 88a LS4
93 Gpio::MM100_IGN7, // 86a LS5_HOT
94 Gpio::MM100_IGN8, // 87a LS6_HOT fuelpump
95 Gpio::MM100_LED2_GREEN, // 43a High Side Output
96 Gpio::MM100_IGN1, // Coil 1
97 Gpio::MM100_IGN2, // Coil 2
98 Gpio::MM100_IGN3, // Coil 3
99 Gpio::MM100_IGN4, // Coil 4
100 Gpio::MM100_IGN5, // Coil 5
101 Gpio::MM100_IGN6, // Coil 6
102};
103
104static Gpio SBC_OUTPUTS[] = {
105 Gpio::MM100_MEGA_UAEFI_INJ1, // 44a INJ_1
106 Gpio::MM100_INJ2, // 45a INJ_2
107 Gpio::MM100_INJ3, // 46a INJ_3
108 Gpio::MM100_INJ4, // 47a INJ_4
109 Gpio::MM100_INJ5, // 48a INJ_5
110 Gpio::MM100_INJ6, // 49a INJ_6
111 Gpio::MM100_SPI2_CS, // 50a INJ_7
112 Gpio::MM100_MEGA_UAEFI_SPI2_SCK, // 51a INJ_8
113 Gpio::MM100_IGN8, // 87a LS6_HOT fuelpump
114 Gpio::MM100_IGN1, // Coil 1
115 Gpio::MM100_IGN2, // Coil 2
116
117};
118
121 return efi::size(SBC_OUTPUTS);
122 }
123 return efi::size(OUTPUTS);
124}
125
132
139
Gpio getWarningLedPin()
static void setupDefaultSensorInputs()
static Gpio OUTPUTS[]
int getBoardMetaLowSideOutputsCount()
int getBoardMetaDcOutputsCount()
int getBoardMetaOutputsCount()
void setup_custom_board_overrides()
Gpio getRunningLedPin()
static Gpio SBC_OUTPUTS[]
Gpio * getBoardMetaOutputs()
static void uaefi_121boardDefaultConfiguration()
@ Unassigned
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2)
std::optional< setup_custom_board_overrides_type > custom_board_ConfigOverrides
std::optional< setup_custom_board_overrides_type > custom_board_DefaultConfiguration
static constexpr engine_configuration_s * engineConfiguration
void setMegaUaefiBoardConfigOverrides()
Definition mega-uaefi.cpp:7
void setMegaUaefiBoardDefaultConfiguration()
brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]