117 lines
3.7 KiB
C++
117 lines
3.7 KiB
C++
/**
|
|
* See https://rusefi.com/s/uaefi121
|
|
*
|
|
* @author Andrey Belomutskiy, (c) 2012-2023
|
|
*/
|
|
|
|
#include "pch.h"
|
|
#include "defaults.h"
|
|
#include "hellen_meta.h"
|
|
#include "hellen_leds_100.cpp"
|
|
|
|
static void setupDefaultSensorInputs() {
|
|
engineConfiguration->tps1_1AdcChannel = MM100_IN_TPS_ANALOG;
|
|
engineConfiguration->tps1_2AdcChannel = MM100_IN_AUX1_ANALOG;
|
|
engineConfiguration->map.sensor.hwChannel = MM100_IN_MAP1_ANALOG;
|
|
|
|
setPPSInputs(MM100_IN_PPS_ANALOG, MM100_IN_AUX2_ANALOG);
|
|
|
|
engineConfiguration->clt.adcChannel = MM100_IN_CLT_ANALOG;
|
|
engineConfiguration->iat.adcChannel = MM100_IN_IAT_ANALOG;
|
|
|
|
engineConfiguration->triggerInputPins[0] = Gpio::MM100_UART8_TX; // VR2 max9924 is the safer default
|
|
engineConfiguration->camInputs[0] = Gpio::MM100_IN_D2; // HALL2
|
|
engineConfiguration->camInputs[1] = Gpio::MM100_IN_D3; // HALL3
|
|
|
|
engineConfiguration->vehicleSpeedSensorInputPin = Gpio::MM100_IN_D1; // HALL1
|
|
}
|
|
|
|
void setBoardConfigOverrides() {
|
|
setHellenMegaEnPin();
|
|
setHellenVbatt();
|
|
|
|
hellenMegaAccelerometerPreInitCS2Pin();
|
|
engineConfiguration->isSdCardEnabled = true;
|
|
engineConfiguration->sdCardCsPin = Gpio::H_SPI1_CS1;
|
|
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_1;
|
|
engineConfiguration->spi1mosiPin = Gpio::A7; // not the usual H_SPI1_MOSI since that's CAN2RX
|
|
engineConfiguration->spi1misoPin = Gpio::H_SPI1_MISO;
|
|
engineConfiguration->spi1sckPin = Gpio::H_SPI1_SCK;
|
|
engineConfiguration->is_enabled_spi_1 = true;
|
|
setDefaultHellenAtPullUps();
|
|
|
|
engineConfiguration->canTxPin = Gpio::B13;
|
|
engineConfiguration->canRxPin = Gpio::B5;
|
|
|
|
|
|
}
|
|
|
|
void setBoardDefaultConfiguration() {
|
|
// GM stepper: DC2 positive#4/negative#5 to pins A/B
|
|
// DC1 positive#1/negative#2 to pin D/C
|
|
setupTLE9201IncludingStepper(/*PWM controlPin*/Gpio::MM100_OUT_PWM3, Gpio::MM100_OUT_PWM4, Gpio::MM100_SPI2_MISO);
|
|
setupTLE9201IncludingStepper(/*PWM controlPin*/Gpio::MM100_OUT_PWM5, Gpio::MM100_SPI2_MOSI, Gpio::MM100_USB1ID, 1);
|
|
|
|
setHellenMMbaro();
|
|
|
|
engineConfiguration->mainRelayPin = Gpio::MM100_IGN7;
|
|
engineConfiguration->fuelPumpPin = Gpio::MM100_IGN8;
|
|
|
|
engineConfiguration->injectionPins[0] = Gpio::MM100_COATED_INJ1;
|
|
engineConfiguration->injectionPins[1] = Gpio::MM100_INJ2;
|
|
engineConfiguration->injectionPins[2] = Gpio::MM100_INJ3;
|
|
engineConfiguration->injectionPins[3] = Gpio::MM100_INJ4;
|
|
engineConfiguration->injectionPins[4] = Gpio::MM100_INJ5;
|
|
engineConfiguration->injectionPins[5] = Gpio::MM100_INJ6;
|
|
|
|
engineConfiguration->ignitionPins[0] = Gpio::MM100_IGN1;
|
|
engineConfiguration->ignitionPins[1] = Gpio::MM100_IGN2;
|
|
engineConfiguration->ignitionPins[2] = Gpio::MM100_IGN3;
|
|
engineConfiguration->ignitionPins[3] = Gpio::MM100_IGN4;
|
|
engineConfiguration->ignitionPins[4] = Gpio::MM100_IGN5;
|
|
engineConfiguration->ignitionPins[5] = Gpio::MM100_IGN6;
|
|
|
|
setupDefaultSensorInputs();
|
|
}
|
|
|
|
int getBoardMetaDcOutputsCount() {
|
|
return 2;
|
|
}
|
|
|
|
static Gpio OUTPUTS[] = {
|
|
Gpio::MM100_COATED_INJ1, // 44a INJ_1
|
|
Gpio::MM100_INJ2, // 45a INJ_2
|
|
Gpio::MM100_INJ3, // 46a INJ_3
|
|
Gpio::MM100_INJ4, // 47a INJ_4
|
|
Gpio::MM100_INJ5, // 48a INJ_5
|
|
Gpio::MM100_INJ6, // 49a INJ_6
|
|
Gpio::MM100_SPI2_CS, // 50a INJ_7
|
|
Gpio::MM100_COATED_SPI2_SCK, // 51a INJ_8
|
|
Gpio::MM100_INJ7, // 14a LS1
|
|
Gpio::MM100_INJ8, // 15a LS2
|
|
Gpio::MM100_OUT_PWM1, // 16a LS3
|
|
Gpio::MM100_OUT_PWM2, // 88a LS4
|
|
Gpio::MM100_IGN7, // 86a LS5_HOT
|
|
Gpio::MM100_IGN8, // 87a LS6_HOT
|
|
Gpio::MM100_LED2_GREEN, // 43a High Side Output
|
|
Gpio::MM100_IGN1, // Coil 1
|
|
Gpio::MM100_IGN2, // Coil 2
|
|
Gpio::MM100_IGN3, // Coil 3
|
|
Gpio::MM100_IGN4, // Coil 4
|
|
Gpio::MM100_IGN5, // Coil 5
|
|
Gpio::MM100_IGN6, // Coil 6
|
|
|
|
};
|
|
|
|
int getBoardMetaOutputsCount() {
|
|
return efi::size(OUTPUTS);
|
|
}
|
|
|
|
int getBoardMetaLowSideOutputsCount() {
|
|
return getBoardMetaOutputsCount() - 1 - 6;
|
|
}
|
|
|
|
Gpio* getBoardMetaOutputs() {
|
|
return OUTPUTS;
|
|
}
|