parent
9372d17b63
commit
7d79b10733
|
@ -21,6 +21,11 @@
|
|||
bool qcDirectPinControlMode = false;
|
||||
|
||||
static void directWritePad(Gpio pin, int value) {
|
||||
if (!isBrainPinValid(pin)) {
|
||||
criticalError("QC of invalid pin %d", (int)pin);
|
||||
return;
|
||||
}
|
||||
|
||||
#if EFI_GPIO_HARDWARE && EFI_PROD_CODE
|
||||
if (brain_pin_is_onchip(pin)) {
|
||||
palWritePad(getHwPort("can_write", pin), getHwPin("can_write", pin), value);
|
||||
|
@ -37,9 +42,16 @@ static void qcSetEtbState(uint8_t dcIndex, uint8_t direction) {
|
|||
const dc_io *io = &engineConfiguration->etbIo[dcIndex];
|
||||
Gpio controlPin = io->controlPin;
|
||||
directWritePad(controlPin, 1);
|
||||
if (engineConfiguration->etb_use_two_wires) {
|
||||
// TLE7209 and L6205
|
||||
directWritePad(io->directionPin1, direction);
|
||||
directWritePad(io->directionPin2, !direction);
|
||||
} else {
|
||||
// TLE9201 and VNH2SP30
|
||||
efiSetPadModeWithoutOwnershipAcquisition("QC_ETB", controlPin, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
directWritePad(io->directionPin1, direction);
|
||||
directWritePad(io->disablePin, 0); // disable pin is inverted - here we ENABLE. direct pin access due to qcDirectPinControlMode
|
||||
}
|
||||
}
|
||||
|
||||
#if EFI_CAN_SUPPORT
|
||||
|
|
|
@ -50,7 +50,7 @@ class OutputPin;
|
|||
|
||||
/**
|
||||
* @brief Represents a DC motor controller (H-bridge) with some combination of PWM and on/off control pins.
|
||||
*
|
||||
* 2024: what does 'TwoPin' class name mean? is that just a historic artifact?
|
||||
*/
|
||||
class TwoPinDcMotor : public DcMotor
|
||||
{
|
||||
|
|
|
@ -487,7 +487,7 @@ bit enableFan2WithAc;Turn on this fan when AC is on.
|
|||
bit disableFan1WhenStopped;Inhibit operation of this fan while the engine is not running.
|
||||
bit disableFan2WhenStopped;Inhibit operation of this fan while the engine is not running.
|
||||
bit enableTrailingSparks;Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines).
|
||||
bit etb_use_two_wires;TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode.
|
||||
bit etb_use_two_wires;TLE7209 and L6205 use two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode.
|
||||
bit isDoubleSolenoidIdle;Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position.
|
||||
bit useEeprom
|
||||
bit useCicPidForIdle;Switch between Industrial and Cic PID implementation
|
||||
|
|
Loading…
Reference in New Issue