rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Data Fields | Private Member Functions
EnginePins Class Reference

#include <efi_gpio.h>

Collaboration diagram for EnginePins:
Collaboration graph
[legend]

Public Member Functions

 EnginePins ()
 
void startPins ()
 
void reset ()
 
bool stopPins ()
 
void unregisterPins ()
 
OutputPingetOutputPinForBenchMode (bench_mode_e idx)
 
void resetForUnitTest ()
 

Static Public Member Functions

static void debug ()
 

Data Fields

RegisteredOutputPin mainRelay
 
RegisteredNamedOutputPin hpfpValve
 
RegisteredOutputPin starterControl
 
RegisteredOutputPin starterRelayDisable
 
RegisteredOutputPin fanRelay
 
RegisteredOutputPin fanRelay2
 
RegisteredOutputPin acRelay
 
RegisteredOutputPin fuelPumpRelay
 
RegisteredOutputPin nitrousRelay
 
RegisteredOutputPin vvlRelay
 
RegisteredNamedOutputPin harleyAcr
 
RegisteredOutputPin harleyAcr2
 
OutputPin o2heater
 
OutputPin luaOutputPins [LUA_PWM_COUNT]
 
OutputPin errorLedPin
 
OutputPin communicationLedPin
 
OutputPin warningLedPin
 
OutputPin runningLedPin
 
OutputPin debugTriggerSync
 
RegisteredOutputPin boostPin
 
RegisteredOutputPin idleSolenoidPin
 
RegisteredOutputPin secondIdleSolenoidPin
 
RegisteredOutputPin alternatorPin
 
RegisteredOutputPin checkEnginePin
 
RegisteredOutputPin tachOut
 
RegisteredOutputPin triggerDecoderErrorPin
 
RegisteredOutputPin speedoOut
 
OutputPin sdCsPin
 
OutputPin accelerometerCs
 
InjectorOutputPin injectors [MAX_CYLINDER_COUNT]
 
InjectorOutputPin injectorsStage2 [MAX_CYLINDER_COUNT]
 
IgnitionOutputPin coils [MAX_CYLINDER_COUNT]
 
IgnitionOutputPin trailingCoils [MAX_CYLINDER_COUNT]
 
NamedOutputPin auxValve [AUX_DIGITAL_VALVE_COUNT]
 
OutputPin tcuSolenoids [TCU_SOLENOID_COUNT]
 
OutputPin tcuTccOnoffSolenoid
 
OutputPin tcuTccPwmSolenoid
 
OutputPin tcuPcSolenoid
 
OutputPin tcu32Solenoid
 

Private Member Functions

void startInjectionPins ()
 
void startIgnitionPins ()
 
void startAuxValves ()
 
void stopInjectionPins ()
 
void stopIgnitionPins ()
 
void stopAuxValves ()
 

Detailed Description

Definition at line 66 of file efi_gpio.h.

Constructor & Destructor Documentation

◆ EnginePins()

EnginePins::EnginePins ( )

Definition at line 142 of file efi_gpio.cpp.

142 :
143 // [tag:coding_by_convention] 'mainRelay' member here uses 'mainRelayPin' and 'mainRelayPinMode' configuration fields
144 mainRelay("Main Relay", CONFIG_PIN_OFFSETS(mainRelay)),
145 hpfpValve("HPFP Valve", CONFIG_PIN_OFFSETS(hpfpValve)),
146 starterControl("Starter Relay", CONFIG_PIN_OFFSETS(starterControl)),
147 starterRelayDisable("Starter Disable Relay", CONFIG_PIN_OFFSETS(starterRelayDisable)),
148 fanRelay("Fan Relay", CONFIG_PIN_OFFSETS(fan)),
149 fanRelay2("Fan Relay 2", CONFIG_PIN_OFFSETS(fan2)),
150 acRelay("A/C Relay", CONFIG_PIN_OFFSETS(acRelay)),
151 fuelPumpRelay("Fuel pump Relay", CONFIG_PIN_OFFSETS(fuelPump)),
152 nitrousRelay("Nitrous Relay", CONFIG_PIN_OFFSETS(nitrousRelay)),
153 vvlRelay("VVL Relay", CONFIG_PIN_OFFSETS(vvlRelay)),
154#if EFI_HD_ACR
155 harleyAcr("Harley ACR", CONFIG_OFFSET(acrPin)),
156 harleyAcr2("Harley ACR 2", CONFIG_OFFSET(acrPin2)),
157#endif // EFI_HD_ACR
158 boostPin("Boost", CONFIG_PIN_OFFSETS(boostControl)),
159 idleSolenoidPin("Idle Valve", CONFIG_OFFSET2(idle, solenoidPin), CONFIG_OFFSET2(idle, solenoidPinMode)),
160 secondIdleSolenoidPin("Idle Valve#2", CONFIG_OFFSET(secondSolenoidPin), CONFIG_OFFSET2(idle, solenoidPinMode)),
161 alternatorPin("Alternator control", CONFIG_PIN_OFFSETS(alternatorControl)),
162 checkEnginePin("checkEnginePin", CONFIG_PIN_OFFSETS(malfunctionIndicator)),
163 tachOut("tachOut", CONFIG_PIN_OFFSETS(tachOutput)),
164 triggerDecoderErrorPin("led: trigger debug", CONFIG_PIN_OFFSETS(triggerError)),
165 speedoOut("speedoOut", CONFIG_OFFSET(speedometerOutputPin))
166{
167 hpfpValve.setName("hpfp");
168#if EFI_HD_ACR
169 harleyAcr.setName("acr");
170#endif // EFI_HD_ACR
171
172 static_assert(efi::size(sparkNames) >= MAX_CYLINDER_COUNT, "Too many ignition pins");
173 static_assert(efi::size(trailNames) >= MAX_CYLINDER_COUNT, "Too many ignition pins");
174 static_assert(efi::size(injectorNames) >= MAX_CYLINDER_COUNT, "Too many injection pins");
175 for (int i = 0; i < MAX_CYLINDER_COUNT;i++) {
179
182
186
190 }
191
192 static_assert(efi::size(auxValveShortNames) >= AUX_DIGITAL_VALVE_COUNT, "Too many aux valve pins");
193 for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT;i++) {
195 }
196}
static SimplePwm alternatorControl("alt")
RegisteredOutputPin harleyAcr2
Definition efi_gpio.h:96
RegisteredNamedOutputPin harleyAcr
Definition efi_gpio.h:95
RegisteredOutputPin speedoOut
Definition efi_gpio.h:122
InjectorOutputPin injectorsStage2[MAX_CYLINDER_COUNT]
Definition efi_gpio.h:128
RegisteredOutputPin mainRelay
Definition efi_gpio.h:76
NamedOutputPin auxValve[AUX_DIGITAL_VALVE_COUNT]
Definition efi_gpio.h:131
RegisteredOutputPin vvlRelay
Definition efi_gpio.h:93
RegisteredOutputPin fanRelay
Definition efi_gpio.h:86
IgnitionOutputPin trailingCoils[MAX_CYLINDER_COUNT]
Definition efi_gpio.h:130
RegisteredOutputPin starterControl
Definition efi_gpio.h:82
RegisteredOutputPin triggerDecoderErrorPin
Definition efi_gpio.h:121
RegisteredOutputPin secondIdleSolenoidPin
Definition efi_gpio.h:113
RegisteredOutputPin nitrousRelay
Definition efi_gpio.h:92
RegisteredOutputPin fanRelay2
Definition efi_gpio.h:87
InjectorOutputPin injectors[MAX_CYLINDER_COUNT]
Definition efi_gpio.h:127
RegisteredOutputPin starterRelayDisable
Definition efi_gpio.h:84
RegisteredOutputPin boostPin
Definition efi_gpio.h:111
RegisteredOutputPin fuelPumpRelay
Definition efi_gpio.h:91
RegisteredOutputPin acRelay
Definition efi_gpio.h:90
RegisteredOutputPin alternatorPin
Definition efi_gpio.h:114
IgnitionOutputPin coils[MAX_CYLINDER_COUNT]
Definition efi_gpio.h:129
RegisteredOutputPin checkEnginePin
Definition efi_gpio.h:118
RegisteredOutputPin idleSolenoidPin
Definition efi_gpio.h:112
RegisteredOutputPin tachOut
Definition efi_gpio.h:120
RegisteredNamedOutputPin hpfpValve
Definition efi_gpio.h:80
void setName(const char *)
Definition efi_gpio.cpp:426
const char * shortName
Definition efi_output.h:128
static const char *const auxValveShortNames[]
Definition efi_gpio.cpp:62
static const char *const trailNames[]
Definition efi_gpio.cpp:29
static const char *const injectorNames[]
Definition efi_gpio.cpp:50
static const char *const sparkShortNames[]
Definition efi_gpio.cpp:47
static const char *const injectorStage2Names[]
Definition efi_gpio.cpp:56
static const char *const sparkNames[]
Definition efi_gpio.cpp:26
static const char *const injectorShortNames[]
Definition efi_gpio.cpp:53
static const char *const injectorStage2ShortNames[]
Definition efi_gpio.cpp:59
static const char *const trailShortNames[]
Definition efi_gpio.cpp:32
EnginePins enginePins
Definition efi_gpio.cpp:24
Here is the call graph for this function:

Member Function Documentation

◆ debug()

void EnginePins::debug ( )
static

Definition at line 250 of file efi_gpio.cpp.

250 {
252 while (pin != nullptr) {
253 efiPrintf("%s %d", pin->getRegistrationName(), pin->currentLogicValue);
254 pin = pin->next;
255 }
256}
static RegisteredOutputPin * registeredOutputHead
Definition efi_gpio.cpp:64
brain_pin_e pin
Definition stm32_adc.cpp:15

Referenced by initPrimaryPins().

Here is the caller graph for this function:

◆ getOutputPinForBenchMode()

OutputPin * EnginePins::getOutputPinForBenchMode ( bench_mode_e  idx)

Definition at line 356 of file efi_gpio.cpp.

356 {
357 switch(index) {
358#if EFI_VVT_PID
359 case BENCH_VVT0_VALVE:
360 return getVvtOutputPin(0);
361 case BENCH_VVT1_VALVE:
362 return getVvtOutputPin(1);
363 case BENCH_VVT2_VALVE:
364 return getVvtOutputPin(2);
365 case BENCH_VVT3_VALVE:
366 return getVvtOutputPin(3);
367#endif // EFI_VVT_PID
368 case BENCH_MAIN_RELAY:
369 return &mainRelay;
370 case BENCH_HPFP_VALVE:
371 return &hpfpValve;
372 case BENCH_FUEL_PUMP:
373 return &fuelPumpRelay;
375 return &starterControl;
377 return &checkEnginePin;
379 return &acRelay;
380 case BENCH_FAN_RELAY:
381 return &fanRelay;
382#if EFI_HD_ACR
383 case HD_ACR:
384 return &harleyAcr;
385 case HD_ACR2:
386 return &harleyAcr2;
387#endif
388 case BENCH_IDLE_VALVE:
389 return &idleSolenoidPin;
391 return &fanRelay;
392 default:
393 criticalError("Unexpected bench pin %d", index);
394 }
395 return nullptr;
396}
@ BENCH_AC_COMPRESSOR_RELAY
@ BENCH_FAN_RELAY
@ BENCH_VVT0_VALVE
@ BENCH_MAIN_RELAY
@ HD_ACR2
@ BENCH_IDLE_VALVE
@ HD_ACR
@ BENCH_CHECK_ENGINE_LIGHT
@ BENCH_VVT3_VALVE
@ BENCH_VVT1_VALVE
@ BENCH_FAN_RELAY_2
@ BENCH_HPFP_VALVE
@ BENCH_FUEL_PUMP
@ BENCH_STARTER_ENABLE_RELAY
@ BENCH_VVT2_VALVE
OutputPin * getVvtOutputPin(int index)
Definition vvt.cpp:155

Referenced by resetPinStats(), and sendPinStatePackets().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset()

void EnginePins::reset ( )

Definition at line 275 of file efi_gpio.cpp.

275 {
276 for (int i = 0; i < MAX_CYLINDER_COUNT;i++) {
277 injectors[i].reset();
278 coils[i].reset();
279 trailingCoils[i].reset();
280 }
281}

Referenced by resetConfigurationExt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetForUnitTest()

void EnginePins::resetForUnitTest ( )

Definition at line 406 of file efi_gpio.cpp.

406 {
408 while (pin != nullptr) {
410 pin = pin->next;
411 }
412}
brain_pin_e brainPin
Definition efi_output.h:86
@ Unassigned

◆ startAuxValves()

void EnginePins::startAuxValves ( )
private

Definition at line 308 of file efi_gpio.cpp.

308 {
309#if EFI_PROD_CODE
310 for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT; i++) {
311 NamedOutputPin *output = &enginePins.auxValve[i];
312 // todo: do we need auxValveMode and reuse code?
313 if (isConfigurationChanged(auxValves[i])) {
314 output->initPin(output->getName(), engineConfiguration->auxValves[i]);
315 }
316 }
317#endif /* EFI_PROD_CODE */
318}
const char * getName() const
Definition efi_gpio.cpp:422
void initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e outputMode, bool forceInitWithFatalError=false)
Definition efi_gpio.cpp:711
static constexpr engine_configuration_s * engineConfiguration

Referenced by startPins().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startIgnitionPins()

void EnginePins::startIgnitionPins ( )
private

Definition at line 321 of file efi_gpio.cpp.

321 {
322#if EFI_PROD_CODE
323 for (size_t i = 0; i < engineConfiguration->cylindersCount; i++) {
324 NamedOutputPin *trailingOutput = &enginePins.trailingCoils[i];
325 if (isPinOrModeChanged(trailingCoilPins[i], ignitionPinMode)) {
327 }
328
329 NamedOutputPin *output = &enginePins.coils[i];
330 if (isPinOrModeChanged(ignitionPins[i], ignitionPinMode)) {
332 }
333 }
334#endif /* EFI_PROD_CODE */
335}

Referenced by setPinConfigurationOverrides(), and startPins().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startInjectionPins()

void EnginePins::startInjectionPins ( )
private

Definition at line 337 of file efi_gpio.cpp.

337 {
338#if EFI_PROD_CODE
339 // todo: should we move this code closer to the injection logic?
340 for (size_t i = 0; i < engineConfiguration->cylindersCount; i++) {
341 NamedOutputPin *output = &enginePins.injectors[i];
342 if (isPinOrModeChanged(injectionPins[i], injectionPinMode)) {
343 output->initPin(output->getName(), engineConfiguration->injectionPins[i],
345 }
346
347 output = &enginePins.injectorsStage2[i];
348 if (isPinOrModeChanged(injectionPinsStage2[i], injectionPinMode)) {
351 }
352 }
353#endif /* EFI_PROD_CODE */
354}

Referenced by setPinConfigurationOverrides(), and startPins().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startPins()

void EnginePins::startPins ( )

Definition at line 258 of file efi_gpio.cpp.

258 {
259#if EFI_ENGINE_CONTROL
262#endif /* EFI_ENGINE_CONTROL */
263
264#if EFI_AUX_VALVES
266#endif // EFI_AUX_VALVES
267
269 while (pin != nullptr) {
270 pin->init();
271 pin = pin->next;
272 }
273}
void startAuxValves()
Definition efi_gpio.cpp:308
void startIgnitionPins()
Definition efi_gpio.cpp:321
void startInjectionPins()
Definition efi_gpio.cpp:337

Referenced by startHardware().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stopAuxValves()

void EnginePins::stopAuxValves ( )
private

Definition at line 298 of file efi_gpio.cpp.

298 {
299 for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT; i++) {
300 NamedOutputPin *output = &enginePins.auxValve[i];
301 // todo: do we need auxValveMode and reuse code?
302 if (isConfigurationChanged(auxValves[i])) {
303 (output)->deInit();
304 }
305 }
306}

Referenced by unregisterPins().

Here is the caller graph for this function:

◆ stopIgnitionPins()

void EnginePins::stopIgnitionPins ( )
private

Definition at line 283 of file efi_gpio.cpp.

283 {
284 for (int i = 0; i < MAX_CYLINDER_COUNT; i++) {
285 unregisterOutputIfPinOrModeChanged(enginePins.coils[i], ignitionPins[i], ignitionPinMode);
286 unregisterOutputIfPinOrModeChanged(enginePins.trailingCoils[i], trailingCoilPins[i], ignitionPinMode);
287 }
288}

Referenced by unregisterPins().

Here is the caller graph for this function:

◆ stopInjectionPins()

void EnginePins::stopInjectionPins ( )
private

Definition at line 290 of file efi_gpio.cpp.

290 {
291 for (int i = 0; i < MAX_CYLINDER_COUNT; i++) {
292 unregisterOutputIfPinOrModeChanged(enginePins.injectors[i], injectionPins[i], injectionPinMode);
293 unregisterOutputIfPinOrModeChanged(enginePins.injectorsStage2[i], injectionPinsStage2[i], injectionPinMode);
294 }
295}

Referenced by unregisterPins().

Here is the caller graph for this function:

◆ stopPins()

bool EnginePins::stopPins ( )

Definition at line 214 of file efi_gpio.cpp.

214 {
215 bool result = false;
216 for (int i = 0; i < MAX_CYLINDER_COUNT; i++) {
217 result |= coils[i].stop();
218 result |= injectors[i].stop();
219 result |= injectorsStage2[i].stop();
220 result |= trailingCoils[i].stop();
221 }
222 for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT; i++) {
223 result |= auxValve[i].stop();
224 }
225 return result;
226}

Referenced by Engine::efiWatchdog(), and Engine::onEngineHasStopped().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unregisterPins()

void EnginePins::unregisterPins ( )

Definition at line 228 of file efi_gpio.cpp.

228 {
231#if EFI_AUX_VALVES
233#endif
234
235#if EFI_ELECTRONIC_THROTTLE_BODY
237#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
238
239 // todo: add pinMode
240 unregisterOutputIfPinChanged(sdCsPin, sdCardCsPin);
241 unregisterOutputIfPinChanged(accelerometerCs, accelerometerCsPin);
242
244 while (pin != nullptr) {
245 pin->unregister();
246 pin = pin->next;
247 }
248}
OutputPin accelerometerCs
Definition efi_gpio.h:125
void stopInjectionPins()
Definition efi_gpio.cpp:290
void stopAuxValves()
Definition efi_gpio.cpp:298
OutputPin sdCsPin
Definition efi_gpio.h:124
void stopIgnitionPins()
Definition efi_gpio.cpp:283
void unregisterEtbPins()

Referenced by applyNewHardwareSettings().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ accelerometerCs

OutputPin EnginePins::accelerometerCs

Definition at line 125 of file efi_gpio.h.

Referenced by unregisterPins().

◆ acRelay

RegisteredOutputPin EnginePins::acRelay

◆ alternatorPin

RegisteredOutputPin EnginePins::alternatorPin

Definition at line 114 of file efi_gpio.h.

Referenced by initAlternatorCtrl().

◆ auxValve

NamedOutputPin EnginePins::auxValve[AUX_DIGITAL_VALVE_COUNT]

Definition at line 131 of file efi_gpio.h.

Referenced by auxPlainPinTurnOn(), EnginePins(), startAuxValves(), stopAuxValves(), and stopPins().

◆ boostPin

RegisteredOutputPin EnginePins::boostPin

Definition at line 111 of file efi_gpio.h.

Referenced by startBoostPin().

◆ checkEnginePin

RegisteredOutputPin EnginePins::checkEnginePin

this one is usually on the gauge cluster, not on the ECU

Definition at line 118 of file efi_gpio.h.

Referenced by blink_digits(), getOutputPinForBenchMode(), milBench(), populateFrame(), and turnAllPinsOff().

◆ coils

IgnitionOutputPin EnginePins::coils[MAX_CYLINDER_COUNT]

◆ communicationLedPin

OutputPin EnginePins::communicationLedPin

Definition at line 106 of file efi_gpio.h.

Referenced by firmwareErrorV(), and initStatusLeds().

◆ debugTriggerSync

OutputPin EnginePins::debugTriggerSync

Definition at line 110 of file efi_gpio.h.

Referenced by TriggerDecoderBase::decodeTriggerEvent(), and initMiscOutputPins().

◆ errorLedPin

OutputPin EnginePins::errorLedPin

brain board RED LED by default

Definition at line 105 of file efi_gpio.h.

Referenced by initErrorLed().

◆ fanRelay

RegisteredOutputPin EnginePins::fanRelay

◆ fanRelay2

RegisteredOutputPin EnginePins::fanRelay2

◆ fuelPumpRelay

RegisteredOutputPin EnginePins::fuelPumpRelay

◆ harleyAcr

RegisteredNamedOutputPin EnginePins::harleyAcr

◆ harleyAcr2

RegisteredOutputPin EnginePins::harleyAcr2

Definition at line 96 of file efi_gpio.h.

Referenced by getOutputPinForBenchMode(), hdAcrBench(), and HarleyAcr::onSlowCallback().

◆ hpfpValve

RegisteredNamedOutputPin EnginePins::hpfpValve

◆ idleSolenoidPin

RegisteredOutputPin EnginePins::idleSolenoidPin

Definition at line 112 of file efi_gpio.h.

Referenced by applyIACposition(), and getOutputPinForBenchMode().

◆ injectors

InjectorOutputPin EnginePins::injectors[MAX_CYLINDER_COUNT]

◆ injectorsStage2

InjectorOutputPin EnginePins::injectorsStage2[MAX_CYLINDER_COUNT]

◆ luaOutputPins

OutputPin EnginePins::luaOutputPins[LUA_PWM_COUNT]

Definition at line 100 of file efi_gpio.h.

Referenced by doRunBenchTestLuaOutput(), luaDeInitPins(), and startPwm().

◆ mainRelay

RegisteredOutputPin EnginePins::mainRelay

◆ nitrousRelay

RegisteredOutputPin EnginePins::nitrousRelay

Definition at line 92 of file efi_gpio.h.

Referenced by NitrousController::onSlowCallback().

◆ o2heater

OutputPin EnginePins::o2heater

◆ runningLedPin

OutputPin EnginePins::runningLedPin

Definition at line 108 of file efi_gpio.h.

Referenced by initWarningRunningPins().

◆ sdCsPin

OutputPin EnginePins::sdCsPin

Definition at line 124 of file efi_gpio.h.

Referenced by initMiscOutputPins(), and unregisterPins().

◆ secondIdleSolenoidPin

RegisteredOutputPin EnginePins::secondIdleSolenoidPin

Definition at line 113 of file efi_gpio.h.

Referenced by applyIACposition().

◆ speedoOut

RegisteredOutputPin EnginePins::speedoOut

Definition at line 122 of file efi_gpio.h.

Referenced by initSpeedometer().

◆ starterControl

RegisteredOutputPin EnginePins::starterControl

◆ starterRelayDisable

RegisteredOutputPin EnginePins::starterRelayDisable

Definition at line 84 of file efi_gpio.h.

Referenced by Engine::periodicSlowCallback(), and updateTunerStudioState().

◆ tachOut

RegisteredOutputPin EnginePins::tachOut

Definition at line 120 of file efi_gpio.h.

Referenced by TachometerModule::init().

◆ tcu32Solenoid

OutputPin EnginePins::tcu32Solenoid

Definition at line 136 of file efi_gpio.h.

Referenced by Gm4l6xTransmissionController::init().

◆ tcuPcSolenoid

OutputPin EnginePins::tcuPcSolenoid

Definition at line 135 of file efi_gpio.h.

Referenced by Generic4TransmissionController::init().

◆ tcuSolenoids

OutputPin EnginePins::tcuSolenoids[TCU_SOLENOID_COUNT]

◆ tcuTccOnoffSolenoid

OutputPin EnginePins::tcuTccOnoffSolenoid

◆ tcuTccPwmSolenoid

OutputPin EnginePins::tcuTccPwmSolenoid

Definition at line 134 of file efi_gpio.h.

Referenced by Gm4l6xTransmissionController::init().

◆ trailingCoils

IgnitionOutputPin EnginePins::trailingCoils[MAX_CYLINDER_COUNT]

◆ triggerDecoderErrorPin

RegisteredOutputPin EnginePins::triggerDecoderErrorPin

Definition at line 121 of file efi_gpio.h.

Referenced by Engine::OnTriggerSynchronization().

◆ vvlRelay

RegisteredOutputPin EnginePins::vvlRelay

Definition at line 93 of file efi_gpio.h.

Referenced by VvlController::onSlowCallback().

◆ warningLedPin

OutputPin EnginePins::warningLedPin

Definition at line 107 of file efi_gpio.h.

Referenced by errorHandlerWriteReportFile(), and initWarningRunningPins().


The documentation for this class was generated from the following files: