Merge branch 'master' of https://github.com/rusefi/rusefi
This commit is contained in:
commit
0384cc26a8
|
@ -3,6 +3,7 @@
|
|||
build/
|
||||
build_kinetis/
|
||||
out/
|
||||
logs/
|
||||
blbuild/
|
||||
Debug_EMS/
|
||||
Release_EMS/
|
||||
|
|
|
@ -26,8 +26,8 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
|
||||
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
|
||||
|
||||
boardConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
boardConfiguration->useNoiselessTriggerDecoder = true;
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
engineConfiguration->useNoiselessTriggerDecoder = true;
|
||||
|
||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
@ -72,7 +72,7 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->tpsErrorDetectionTooLow = -10; // -10% open
|
||||
engineConfiguration->tpsErrorDetectionTooHigh = 110; // 110% open
|
||||
|
||||
boardConfiguration->mapMinBufferLength = 4;
|
||||
engineConfiguration->mapMinBufferLength = 4;
|
||||
|
||||
// todo:
|
||||
engineConfiguration->map.sensor.hwChannel = EFI_ADC_NONE;
|
||||
|
@ -90,9 +90,9 @@ void setBoardConfigurationOverrides(void) {
|
|||
|
||||
engineConfiguration->clt.adcChannel = EFI_ADC_14;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOE_7;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOE_7;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->tle6240spiDevice = SPI_DEVICE_1;
|
||||
engineConfiguration->tle6240_cs = GPIOB_0;
|
||||
|
@ -100,14 +100,14 @@ void setBoardConfigurationOverrides(void) {
|
|||
// todo:
|
||||
int i;
|
||||
for (i = 0; i < INJECTION_PIN_COUNT; i++)
|
||||
boardConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
|
||||
for (i = 0; i < IGNITION_PIN_COUNT; i++)
|
||||
boardConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->adcVcc = 5.0f;
|
||||
engineConfiguration->analogInputDividerCoefficient = 1;
|
||||
|
||||
//boardConfiguration->isFastAdcEnabled = false;
|
||||
//engineConfiguration->isFastAdcEnabled = false;
|
||||
|
||||
// we call it here because setDefaultBoardConfiguration() is not called for DEFAULT_ENGINE_TYPE=MINIMAL_PINS
|
||||
setSerialConfigurationOverrides();
|
||||
|
@ -117,12 +117,12 @@ void setPinConfigurationOverrides(void) {
|
|||
}
|
||||
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = true;
|
||||
engineConfiguration->useSerialPort = true;
|
||||
engineConfiguration->binarySerialTxPin = GPIOC_7;
|
||||
engineConfiguration->binarySerialRxPin = GPIOC_6;
|
||||
engineConfiguration->consoleSerialTxPin = GPIOA_10;
|
||||
engineConfiguration->consoleSerialRxPin = GPIOA_11;
|
||||
boardConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->uartConsoleSerialSpeed = SERIAL_SPEED;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,12 +44,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#define PORT_IDLE_THREAD_STACK_SIZE 64/*768*//*1024*/
|
||||
#define PORT_IDLE_THREAD_STACK_SIZE 32
|
||||
|
||||
// rusEfi main processing happens on IRQ so PORT_INT_REQUIRED_STACK has to be pretty large.
|
||||
// see also a strange comment about PORT_INT_REQUIRED_STACK in global_shared.h
|
||||
// See global_shared.h notes about stack requirements
|
||||
// see also http://www.chibios.org/dokuwiki/doku.php?id=chibios:kb:stacks
|
||||
#define PORT_INT_REQUIRED_STACK 512/*768*/
|
||||
#define PORT_INT_REQUIRED_STACK 128
|
||||
|
||||
#define CHPRINTF_USE_FLOAT TRUE
|
||||
|
||||
|
|
|
@ -587,8 +587,8 @@ case HONDA_ACCORD_CD_TWO_WIRES:
|
|||
return "HONDA_ACCORD_CD_TWO_WIRES";
|
||||
case LADA_KALINA:
|
||||
return "LADA_KALINA";
|
||||
case MAZDA_323:
|
||||
return "MAZDA_323";
|
||||
case MRE_MIATA_NB2_MTB:
|
||||
return "MRE_MIATA_NB2_MTB";
|
||||
case MAZDA_626:
|
||||
return "MAZDA_626";
|
||||
case MAZDA_MIATA_2003:
|
||||
|
@ -659,6 +659,8 @@ case TOYOTA_JZS147:
|
|||
return "TOYOTA_JZS147";
|
||||
case VAG_18_TURBO:
|
||||
return "VAG_18_TURBO";
|
||||
case VW_B6:
|
||||
return "VW_B6";
|
||||
case VW_ABA:
|
||||
return "VW_ABA";
|
||||
case ZIL_130:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -246,8 +246,6 @@
|
|||
#define baroSensor_offset_hex 248
|
||||
#define baroSensor_type_offset 592
|
||||
#define baroSensor_type_offset_hex 250
|
||||
#define bc_offset 600
|
||||
#define bc_offset_hex 258
|
||||
#define binarySerialRxPin_offset 1815
|
||||
#define binarySerialRxPin_offset_hex 717
|
||||
#define binarySerialTxPin_offset 1814
|
||||
|
@ -377,9 +375,11 @@
|
|||
#define CMD_ENABLE "enable"
|
||||
#define CMD_ENGINE_TYPE "engine_type"
|
||||
#define CMD_ETB_DUTY "set_etb_duty"
|
||||
#define CMD_FUNCTIONAL_TEST_MODE "test_mode"
|
||||
#define CMD_PINS "pins"
|
||||
#define CMD_REBOOT "reboot"
|
||||
#define CMD_REBOOT_DFU "reboot_dfu"
|
||||
#define CMD_RESET_ENGINE_SNIFFER "reset_engine_chart"
|
||||
#define CMD_TRIGGER_HW_INPUT "trigger_hw_input"
|
||||
#define CMD_TRIGGERINFO "triggerinfo"
|
||||
#define CMD_WRITECONFIG "writeconfig"
|
||||
|
@ -1552,6 +1552,13 @@
|
|||
#define overrideCrankingIacSetting_offset_hex 5c4
|
||||
#define overrideCrankingIgnition_offset 516
|
||||
#define overrideCrankingIgnition_offset_hex 204
|
||||
#define PACK_MULT_AFR 1000
|
||||
#define PACK_MULT_ANGLE 50
|
||||
#define PACK_MULT_MS 300
|
||||
#define PACK_MULT_PERCENT 100
|
||||
#define PACK_MULT_PRESSURE 30
|
||||
#define PACK_MULT_TEMPERATURE 100
|
||||
#define PACK_MULT_VOLTAGE 1000
|
||||
#define pauseEtbControl_offset 744
|
||||
#define pauseEtbControl_offset_hex 2e8
|
||||
#define PEDAL_TO_TPS_SIZE 8
|
||||
|
@ -1851,6 +1858,64 @@
|
|||
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "trg44", "trg45", "INVALID"
|
||||
#define trigger_type_offset 524
|
||||
#define trigger_type_offset_hex 20c
|
||||
#define trigger_unusedBit_4_10_offset 528
|
||||
#define trigger_unusedBit_4_10_offset_hex 210
|
||||
#define trigger_unusedBit_4_11_offset 528
|
||||
#define trigger_unusedBit_4_11_offset_hex 210
|
||||
#define trigger_unusedBit_4_12_offset 528
|
||||
#define trigger_unusedBit_4_12_offset_hex 210
|
||||
#define trigger_unusedBit_4_13_offset 528
|
||||
#define trigger_unusedBit_4_13_offset_hex 210
|
||||
#define trigger_unusedBit_4_14_offset 528
|
||||
#define trigger_unusedBit_4_14_offset_hex 210
|
||||
#define trigger_unusedBit_4_15_offset 528
|
||||
#define trigger_unusedBit_4_15_offset_hex 210
|
||||
#define trigger_unusedBit_4_16_offset 528
|
||||
#define trigger_unusedBit_4_16_offset_hex 210
|
||||
#define trigger_unusedBit_4_17_offset 528
|
||||
#define trigger_unusedBit_4_17_offset_hex 210
|
||||
#define trigger_unusedBit_4_18_offset 528
|
||||
#define trigger_unusedBit_4_18_offset_hex 210
|
||||
#define trigger_unusedBit_4_19_offset 528
|
||||
#define trigger_unusedBit_4_19_offset_hex 210
|
||||
#define trigger_unusedBit_4_20_offset 528
|
||||
#define trigger_unusedBit_4_20_offset_hex 210
|
||||
#define trigger_unusedBit_4_21_offset 528
|
||||
#define trigger_unusedBit_4_21_offset_hex 210
|
||||
#define trigger_unusedBit_4_22_offset 528
|
||||
#define trigger_unusedBit_4_22_offset_hex 210
|
||||
#define trigger_unusedBit_4_23_offset 528
|
||||
#define trigger_unusedBit_4_23_offset_hex 210
|
||||
#define trigger_unusedBit_4_24_offset 528
|
||||
#define trigger_unusedBit_4_24_offset_hex 210
|
||||
#define trigger_unusedBit_4_25_offset 528
|
||||
#define trigger_unusedBit_4_25_offset_hex 210
|
||||
#define trigger_unusedBit_4_26_offset 528
|
||||
#define trigger_unusedBit_4_26_offset_hex 210
|
||||
#define trigger_unusedBit_4_27_offset 528
|
||||
#define trigger_unusedBit_4_27_offset_hex 210
|
||||
#define trigger_unusedBit_4_28_offset 528
|
||||
#define trigger_unusedBit_4_28_offset_hex 210
|
||||
#define trigger_unusedBit_4_29_offset 528
|
||||
#define trigger_unusedBit_4_29_offset_hex 210
|
||||
#define trigger_unusedBit_4_30_offset 528
|
||||
#define trigger_unusedBit_4_30_offset_hex 210
|
||||
#define trigger_unusedBit_4_31_offset 528
|
||||
#define trigger_unusedBit_4_31_offset_hex 210
|
||||
#define trigger_unusedBit_4_3_offset 528
|
||||
#define trigger_unusedBit_4_3_offset_hex 210
|
||||
#define trigger_unusedBit_4_4_offset 528
|
||||
#define trigger_unusedBit_4_4_offset_hex 210
|
||||
#define trigger_unusedBit_4_5_offset 528
|
||||
#define trigger_unusedBit_4_5_offset_hex 210
|
||||
#define trigger_unusedBit_4_6_offset 528
|
||||
#define trigger_unusedBit_4_6_offset_hex 210
|
||||
#define trigger_unusedBit_4_7_offset 528
|
||||
#define trigger_unusedBit_4_7_offset_hex 210
|
||||
#define trigger_unusedBit_4_8_offset 528
|
||||
#define trigger_unusedBit_4_8_offset_hex 210
|
||||
#define trigger_unusedBit_4_9_offset 528
|
||||
#define trigger_unusedBit_4_9_offset_hex 210
|
||||
#define trigger_unusedCustomIsSynchronizationNeeded_offset 528
|
||||
#define trigger_unusedCustomIsSynchronizationNeeded_offset_hex 210
|
||||
#define trigger_unusedCustomNeedSecondTriggerInput_offset 528
|
||||
|
@ -1889,8 +1954,8 @@
|
|||
#define triggerSimulatorPins2_offset_hex 2e1
|
||||
#define triggerSimulatorPins3_offset 738
|
||||
#define triggerSimulatorPins3_offset_hex 2e2
|
||||
#define TS_FILE_VERSION 20190701
|
||||
#define TS_OUTPUT_SIZE 356
|
||||
#define TS_FILE_VERSION 20191221
|
||||
#define TS_OUTPUT_SIZE 220
|
||||
#define ts_show_cj125 true
|
||||
#define ts_show_egt true
|
||||
#define ts_show_etb true
|
||||
|
@ -1900,7 +1965,7 @@
|
|||
#define ts_show_hip9011 true
|
||||
#define ts_show_joystick true
|
||||
#define ts_show_lcd true
|
||||
#define TS_SIGNATURE "rusEFI v1.07"
|
||||
#define TS_SIGNATURE "rusEFI v1.08"
|
||||
#define tunerStudioSerialSpeed_offset 728
|
||||
#define tunerStudioSerialSpeed_offset_hex 2d8
|
||||
#define twoWireBatchIgnition_offset 1476
|
||||
|
@ -1947,6 +2012,68 @@
|
|||
#define unusedAnotherOne_offset_hex 2e8
|
||||
#define unusedAtOldBoardConfigurationEnd_offset 988
|
||||
#define unusedAtOldBoardConfigurationEnd_offset_hex 3dc
|
||||
#define unusedBit_247_10_offset 976
|
||||
#define unusedBit_247_10_offset_hex 3d0
|
||||
#define unusedBit_247_11_offset 976
|
||||
#define unusedBit_247_11_offset_hex 3d0
|
||||
#define unusedBit_247_12_offset 976
|
||||
#define unusedBit_247_12_offset_hex 3d0
|
||||
#define unusedBit_247_13_offset 976
|
||||
#define unusedBit_247_13_offset_hex 3d0
|
||||
#define unusedBit_247_14_offset 976
|
||||
#define unusedBit_247_14_offset_hex 3d0
|
||||
#define unusedBit_247_15_offset 976
|
||||
#define unusedBit_247_15_offset_hex 3d0
|
||||
#define unusedBit_247_16_offset 976
|
||||
#define unusedBit_247_16_offset_hex 3d0
|
||||
#define unusedBit_247_17_offset 976
|
||||
#define unusedBit_247_17_offset_hex 3d0
|
||||
#define unusedBit_247_18_offset 976
|
||||
#define unusedBit_247_18_offset_hex 3d0
|
||||
#define unusedBit_247_19_offset 976
|
||||
#define unusedBit_247_19_offset_hex 3d0
|
||||
#define unusedBit_247_20_offset 976
|
||||
#define unusedBit_247_20_offset_hex 3d0
|
||||
#define unusedBit_247_21_offset 976
|
||||
#define unusedBit_247_21_offset_hex 3d0
|
||||
#define unusedBit_247_22_offset 976
|
||||
#define unusedBit_247_22_offset_hex 3d0
|
||||
#define unusedBit_247_23_offset 976
|
||||
#define unusedBit_247_23_offset_hex 3d0
|
||||
#define unusedBit_247_24_offset 976
|
||||
#define unusedBit_247_24_offset_hex 3d0
|
||||
#define unusedBit_247_25_offset 976
|
||||
#define unusedBit_247_25_offset_hex 3d0
|
||||
#define unusedBit_247_26_offset 976
|
||||
#define unusedBit_247_26_offset_hex 3d0
|
||||
#define unusedBit_247_27_offset 976
|
||||
#define unusedBit_247_27_offset_hex 3d0
|
||||
#define unusedBit_247_28_offset 976
|
||||
#define unusedBit_247_28_offset_hex 3d0
|
||||
#define unusedBit_247_29_offset 976
|
||||
#define unusedBit_247_29_offset_hex 3d0
|
||||
#define unusedBit_247_2_offset 976
|
||||
#define unusedBit_247_2_offset_hex 3d0
|
||||
#define unusedBit_247_30_offset 976
|
||||
#define unusedBit_247_30_offset_hex 3d0
|
||||
#define unusedBit_247_31_offset 976
|
||||
#define unusedBit_247_31_offset_hex 3d0
|
||||
#define unusedBit_247_3_offset 976
|
||||
#define unusedBit_247_3_offset_hex 3d0
|
||||
#define unusedBit_247_4_offset 976
|
||||
#define unusedBit_247_4_offset_hex 3d0
|
||||
#define unusedBit_247_5_offset 976
|
||||
#define unusedBit_247_5_offset_hex 3d0
|
||||
#define unusedBit_247_6_offset 976
|
||||
#define unusedBit_247_6_offset_hex 3d0
|
||||
#define unusedBit_247_7_offset 976
|
||||
#define unusedBit_247_7_offset_hex 3d0
|
||||
#define unusedBit_247_8_offset 976
|
||||
#define unusedBit_247_8_offset_hex 3d0
|
||||
#define unusedBit_247_9_offset 976
|
||||
#define unusedBit_247_9_offset_hex 3d0
|
||||
#define unusedBit_34_31_offset 76
|
||||
#define unusedBit_34_31_offset_hex 4c
|
||||
#define unusedErrorPin_offset 2040
|
||||
#define unusedErrorPin_offset_hex 7f8
|
||||
#define unusedFlexFuelSensor_offset 3100
|
||||
|
|
|
@ -264,7 +264,6 @@
|
|||
|
||||
// todo: switch to continues ADC conversion for slow ADC?
|
||||
// https://github.com/rusefi/rusefi/issues/630
|
||||
#define EFI_INTERNAL_SLOW_ADC_PWM &PWMD1
|
||||
// todo: switch to continues ADC conversion for fast ADC?
|
||||
#define EFI_INTERNAL_FAST_ADC_PWM &PWMD2
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ EXTERN_ENGINE
|
|||
static void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
}
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = true;
|
||||
engineConfiguration->useSerialPort = true;
|
||||
|
||||
//UART
|
||||
|
||||
|
@ -36,11 +36,11 @@ void setPinConfigurationOverrides(void) {
|
|||
|
||||
engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE;
|
||||
engineConfiguration->afr.hwChannel = EFI_ADC_NONE;
|
||||
boardConfiguration->ignitionPins[8] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[9] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->mainRelayPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[8] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[9] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->mainRelayPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
}
|
||||
void setBoardConfigurationOverrides(void) {
|
||||
|
@ -49,33 +49,33 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->externalKnockSenseAdc = EFI_ADC_NONE;
|
||||
engineConfiguration->displayMode = DM_NONE;
|
||||
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
for (int i = 0; i < DIGIPOT_COUNT; i++) {
|
||||
boardConfiguration->digitalPotentiometerChipSelect[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
boardConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
boardConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
engineConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
engineConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->warningLedPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->runningLedPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->useStepperIdle = false;
|
||||
boardConfiguration->idle.stepperDirectionPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->idle.stepperStepPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->useStepperIdle = false;
|
||||
engineConfiguration->idle.stepperDirectionPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.stepperStepPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->stepperEnablePinMode = OM_DEFAULT;
|
||||
boardConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->isHip9011Enabled = false;
|
||||
engineConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->isHip9011Enabled = false;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -19,32 +19,32 @@
|
|||
EXTERN_ENGINE;
|
||||
|
||||
static void setInjectorPins() {
|
||||
boardConfiguration->injectionPins[0] = GPIOE_14;
|
||||
boardConfiguration->injectionPins[1] = GPIOE_13;
|
||||
boardConfiguration->injectionPins[2] = GPIOE_12;
|
||||
boardConfiguration->injectionPins[3] = GPIOE_11;
|
||||
engineConfiguration->injectionPins[0] = GPIOE_14;
|
||||
engineConfiguration->injectionPins[1] = GPIOE_13;
|
||||
engineConfiguration->injectionPins[2] = GPIOE_12;
|
||||
engineConfiguration->injectionPins[3] = GPIOE_11;
|
||||
|
||||
// Disable remainder
|
||||
for (int i = 4; i < INJECTION_PIN_COUNT;i++) {
|
||||
boardConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
}
|
||||
|
||||
static void setIgnitionPins() {
|
||||
// todo: I wonder if these are not right in light of the network rename and the +12 VP issue?
|
||||
boardConfiguration->ignitionPins[0] = GPIOD_4;
|
||||
boardConfiguration->ignitionPins[1] = GPIOD_3;
|
||||
boardConfiguration->ignitionPins[2] = GPIOD_2;
|
||||
boardConfiguration->ignitionPins[3] = GPIOD_1;
|
||||
engineConfiguration->ignitionPins[0] = GPIOD_4;
|
||||
engineConfiguration->ignitionPins[1] = GPIOD_3;
|
||||
engineConfiguration->ignitionPins[2] = GPIOD_2;
|
||||
engineConfiguration->ignitionPins[3] = GPIOD_1;
|
||||
|
||||
// disable remainder
|
||||
for (int i = 4; i < IGNITION_PIN_COUNT; i++) {
|
||||
boardConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
}
|
||||
|
||||
static void setLedPins() {
|
||||
|
@ -55,7 +55,7 @@ static void setLedPins() {
|
|||
engineConfiguration->communicationLedPin = GPIOE_2; // d23 = blue
|
||||
#endif /* EFI_COMMUNICATION_PIN */
|
||||
engineConfiguration->runningLedPin = GPIOE_4; // d22 = green
|
||||
boardConfiguration->triggerErrorPin = GPIOE_1; // d27 = orange
|
||||
engineConfiguration->triggerErrorPin = GPIOE_1; // d27 = orange
|
||||
}
|
||||
|
||||
static void setupVbatt() {
|
||||
|
@ -71,12 +71,12 @@ static void setupVbatt() {
|
|||
|
||||
static void setupTle8888() {
|
||||
// Enable spi3
|
||||
boardConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->is_enabled_spi_3 = true;
|
||||
|
||||
// Wire up spi3
|
||||
boardConfiguration->spi3mosiPin = GPIOB_5;
|
||||
boardConfiguration->spi3misoPin = GPIOB_4;
|
||||
boardConfiguration->spi3sckPin = GPIOB_3;
|
||||
engineConfiguration->spi3mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi3misoPin = GPIOB_4;
|
||||
engineConfiguration->spi3sckPin = GPIOB_3;
|
||||
|
||||
// Chip select
|
||||
engineConfiguration->tle8888_cs = GPIOD_5;
|
||||
|
@ -124,9 +124,9 @@ static void setupEtb() {
|
|||
static void setupDefaultSensorInputs() {
|
||||
// trigger inputs
|
||||
// tle8888 VR conditioner
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
// Direct hall-only cam input
|
||||
engineConfiguration->camInputs[0] = GPIOA_5;
|
||||
|
||||
|
@ -157,7 +157,7 @@ void setPinConfigurationOverrides(void) {
|
|||
}
|
||||
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = false;
|
||||
engineConfiguration->useSerialPort = false;
|
||||
engineConfiguration->binarySerialTxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->binarySerialRxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->consoleSerialTxPin = GPIO_UNASSIGNED;
|
||||
|
@ -185,16 +185,16 @@ void setBoardConfigurationOverrides(void) {
|
|||
// todo: maybe even set EFI_MAIN_RELAY_CONTROL to FALSE for MRE configuration
|
||||
// TLE8888 half bridges (pushpull, lowside, or high-low) TLE8888_IN11 / TLE8888_OUT21
|
||||
// GPIOE_8: "35 - GP Out 1"
|
||||
boardConfiguration->fuelPumpPin = GPIOE_8;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_8;
|
||||
|
||||
|
||||
// TLE8888 high current low side: VVT2 IN9 / OUT5
|
||||
// GPIOE_10: "3 - Lowside 2"
|
||||
boardConfiguration->idle.solenoidPin = GPIOE_10;
|
||||
engineConfiguration->idle.solenoidPin = GPIOE_10;
|
||||
|
||||
|
||||
// TLE8888_PIN_22: "34 - GP Out 2"
|
||||
boardConfiguration->fanPin = TLE8888_PIN_22;
|
||||
engineConfiguration->fanPin = TLE8888_PIN_22;
|
||||
|
||||
// "required" hardware is done - set some reasonable defaults
|
||||
setupDefaultSensorInputs();
|
||||
|
|
|
@ -24,12 +24,12 @@ void setPinConfigurationOverrides(void) {
|
|||
}
|
||||
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = true;
|
||||
engineConfiguration->useSerialPort = true;
|
||||
engineConfiguration->binarySerialTxPin = GPIOD_8;
|
||||
engineConfiguration->binarySerialRxPin = GPIOD_9;
|
||||
engineConfiguration->consoleSerialTxPin = GPIOD_8;
|
||||
engineConfiguration->consoleSerialRxPin = GPIOD_9;
|
||||
boardConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->uartConsoleSerialSpeed = SERIAL_SPEED;
|
||||
}
|
||||
|
||||
|
@ -56,28 +56,28 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->externalKnockSenseAdc = EFI_ADC_NONE;
|
||||
engineConfiguration->displayMode = DM_NONE;
|
||||
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
for (int i = 0; i < DIGIPOT_COUNT ; i++) {
|
||||
boardConfiguration->digitalPotentiometerChipSelect[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
boardConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
engineConfiguration->vehicleSpeedSensorInputPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
boardConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
engineConfiguration->max31855spiDevice = SPI_NONE;
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
boardConfiguration->is_enabled_spi_1 = false;
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->is_enabled_spi_3 = false;
|
||||
engineConfiguration->is_enabled_spi_1 = false;
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->is_enabled_spi_3 = false;
|
||||
}
|
||||
|
||||
void setAdcChannelOverrides(void) {
|
||||
|
|
|
@ -36,6 +36,16 @@
|
|||
#define BOARD_ST_NUCLEO144_H743ZI
|
||||
#define BOARD_NAME "STMicroelectronics STM32 Nucleo144-H743ZI"
|
||||
|
||||
/*
|
||||
* input-floating is the default pin mode. input-output boards should provision appropriate pull-ups/pull-downs.
|
||||
*/
|
||||
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
|
||||
#define EFI_DR_DEFAULT PIN_PUPDR_FLOATING
|
||||
|
||||
// See https://github.com/rusefi/rusefi/issues/397
|
||||
#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH
|
||||
|
||||
|
||||
/*
|
||||
* Ethernet PHY type.
|
||||
*/
|
||||
|
@ -572,13 +582,13 @@
|
|||
* PA14 - SWCLK (alternate 0).
|
||||
* PA15 - ZIO_D20 I2S3_WS (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_ZIO_D32) | \
|
||||
#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(GPIOA_ZIO_D32) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_RMII_REF_CLK) |\
|
||||
PIN_MODE_ALTERNATE(GPIOA_RMII_MDIO) | \
|
||||
PIN_MODE_INPUT(GPIOA_ARD_A0) | \
|
||||
PIN_MODE_INPUT(GPIOA_ZIO_D24) | \
|
||||
PIN_MODE_INPUT(GPIOA_ARD_D13) | \
|
||||
PIN_MODE_INPUT(GPIOA_ARD_D12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_ARD_A0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_ZIO_D24) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_ARD_D13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_ARD_D12) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_ARD_D11) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_USB_SOF) | \
|
||||
PIN_MODE_ANALOG(GPIOA_USB_VBUS) | \
|
||||
|
@ -587,7 +597,7 @@
|
|||
PIN_MODE_ALTERNATE(GPIOA_USB_DP) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
|
||||
PIN_MODE_INPUT(GPIOA_ZIO_D20))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_ZIO_D20))
|
||||
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_ZIO_D32) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_RMII_REF_CLK) |\
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_RMII_MDIO) | \
|
||||
|
@ -604,37 +614,37 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_ZIO_D20))
|
||||
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_HIGH(GPIOA_ZIO_D32) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_RMII_REF_CLK) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_RMII_MDIO) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_ARD_A0) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_ZIO_D24) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_ARD_D13) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_ARD_D12) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_ARD_D11) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_USB_SOF) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_USB_VBUS) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_USB_ID) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_USB_DM) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_USB_DP) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
|
||||
PIN_OSPEED_HIGH(GPIOA_ZIO_D20))
|
||||
#define VAL_GPIOA_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOA_ZIO_D32) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_RMII_REF_CLK) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_RMII_MDIO) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_ARD_A0) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_ZIO_D24) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_ARD_D13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_ARD_D12) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_ARD_D11) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_USB_SOF) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_USB_VBUS) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_USB_ID) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_USB_DM) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_USB_DP) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_SWDIO) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_SWCLK) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_ZIO_D20))
|
||||
#define VAL_GPIOA_PUPDR (PIN_PUPDR_PULLUP(GPIOA_ZIO_D32) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_RMII_REF_CLK) |\
|
||||
EFI_DR_DEFAULT(GPIOA_RMII_REF_CLK) |\
|
||||
PIN_PUPDR_PULLUP(GPIOA_RMII_MDIO) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_ARD_A0) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_ZIO_D24) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_ARD_D13) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_ARD_D12) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_ARD_D11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_USB_SOF) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_USB_VBUS) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_USB_ID) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_SWDIO) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_SWCLK) | \
|
||||
EFI_DR_DEFAULT(GPIOA_USB_SOF) | \
|
||||
EFI_DR_DEFAULT(GPIOA_USB_VBUS) | \
|
||||
EFI_DR_DEFAULT(GPIOA_USB_ID) | \
|
||||
EFI_DR_DEFAULT(GPIOA_USB_DM) | \
|
||||
EFI_DR_DEFAULT(GPIOA_USB_DP) | \
|
||||
EFI_DR_DEFAULT(GPIOA_SWDIO) | \
|
||||
EFI_DR_DEFAULT(GPIOA_SWCLK) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_ZIO_D20))
|
||||
#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_ZIO_D32) | \
|
||||
PIN_ODR_HIGH(GPIOA_RMII_REF_CLK) | \
|
||||
|
@ -690,21 +700,21 @@
|
|||
* PB15 - ZIO_D17 I2S2_SD (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOB_MODER (PIN_MODE_OUTPUT(GPIOB_ZIO_D33) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_A6) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D27) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D23) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D25) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D22) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D26) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_A6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D27) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D23) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D25) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D22) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D26) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_LED2) | \
|
||||
PIN_MODE_INPUT(GPIOB_ARD_D15) | \
|
||||
PIN_MODE_INPUT(GPIOB_ARD_D14) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D36) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D35) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D19) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ARD_D15) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ARD_D14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D36) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D35) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D19) | \
|
||||
PIN_MODE_ALTERNATE(GPIOB_ZIO_D18) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_LED3) | \
|
||||
PIN_MODE_INPUT(GPIOB_ZIO_D17))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_ZIO_D17))
|
||||
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D33) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_ZIO_A6) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D27) | \
|
||||
|
@ -721,37 +731,37 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D18) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_LED3) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D17))
|
||||
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_HIGH(GPIOB_ZIO_D33) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_A6) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D27) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D23) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D25) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D22) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D26) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_LED2) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ARD_D15) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ARD_D14) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D36) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D35) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D19) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D18) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_LED3) | \
|
||||
PIN_OSPEED_HIGH(GPIOB_ZIO_D17))
|
||||
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(GPIOB_ZIO_D33) | \
|
||||
#define VAL_GPIOB_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOB_ZIO_D33) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_A6) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D27) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D23) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D25) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D22) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D26) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_LED2) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ARD_D15) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ARD_D14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D36) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D35) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D19) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D18) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_LED3) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_ZIO_D17))
|
||||
#define VAL_GPIOB_PUPDR (EFI_DR_DEFAULT(GPIOB_ZIO_D33) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_A6) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D27) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D23) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D25) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D22) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D26) | \
|
||||
PIN_PUPDR_FLOATING(GPIOB_LED2) | \
|
||||
EFI_DR_DEFAULT(GPIOB_LED2) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ARD_D15) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ARD_D14) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D36) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D35) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D19) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D18) | \
|
||||
PIN_PUPDR_FLOATING(GPIOB_LED3) | \
|
||||
EFI_DR_DEFAULT(GPIOB_LED3) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_ZIO_D17))
|
||||
#define VAL_GPIOB_ODR (PIN_ODR_LOW(GPIOB_ZIO_D33) | \
|
||||
PIN_ODR_HIGH(GPIOB_ZIO_A6) | \
|
||||
|
@ -806,22 +816,22 @@
|
|||
* PC14 - OSC32_IN (input floating).
|
||||
* PC15 - OSC32_OUT (input floating).
|
||||
*/
|
||||
#define VAL_GPIOC_MODER (PIN_MODE_INPUT(GPIOC_ARD_A1) | \
|
||||
#define VAL_GPIOC_MODER (EFI_PIN_MODE_DEFAULT(GPIOC_ARD_A1) | \
|
||||
PIN_MODE_ALTERNATE(GPIOC_RMII_MDC) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_A7) | \
|
||||
PIN_MODE_INPUT(GPIOC_ARD_A2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_A7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ARD_A2) | \
|
||||
PIN_MODE_ALTERNATE(GPIOC_RMII_RXD0) | \
|
||||
PIN_MODE_ALTERNATE(GPIOC_RMII_RXD1) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D16) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D21) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D43) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D44) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D45) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D46) | \
|
||||
PIN_MODE_INPUT(GPIOC_ZIO_D47) | \
|
||||
PIN_MODE_INPUT(GPIOC_BUTTON) | \
|
||||
PIN_MODE_INPUT(GPIOC_OSC32_IN) | \
|
||||
PIN_MODE_INPUT(GPIOC_OSC32_OUT))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D16) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D21) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D43) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D44) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D45) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D46) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_ZIO_D47) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_BUTTON) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_OSC32_IN) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_OSC32_OUT))
|
||||
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_ARD_A1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOC_RMII_MDC) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOC_ZIO_A7) | \
|
||||
|
@ -838,28 +848,28 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOC_BUTTON) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
|
||||
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_ARD_A1) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_RMII_MDC) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_A7) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ARD_A2) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_RMII_RXD0) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_RMII_RXD1) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D16) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D21) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D43) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D44) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D45) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D46) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_ZIO_D47) | \
|
||||
PIN_OSPEED_HIGH(GPIOC_BUTTON) | \
|
||||
#define VAL_GPIOC_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOC_ARD_A1) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_RMII_MDC) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_A7) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ARD_A2) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_RMII_RXD0) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_RMII_RXD1) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D16) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D21) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D43) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D44) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D45) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D46) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_ZIO_D47) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_BUTTON) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOC_OSC32_IN) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOC_OSC32_OUT))
|
||||
#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_ARD_A1) | \
|
||||
PIN_PUPDR_FLOATING(GPIOC_RMII_MDC) | \
|
||||
EFI_DR_DEFAULT(GPIOC_RMII_MDC) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ZIO_A7) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ARD_A2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOC_RMII_RXD0) | \
|
||||
PIN_PUPDR_FLOATING(GPIOC_RMII_RXD1) | \
|
||||
EFI_DR_DEFAULT(GPIOC_RMII_RXD0) | \
|
||||
EFI_DR_DEFAULT(GPIOC_RMII_RXD1) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ZIO_D16) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ZIO_D21) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ZIO_D43) | \
|
||||
|
@ -867,9 +877,9 @@
|
|||
PIN_PUPDR_PULLUP(GPIOC_ZIO_D45) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ZIO_D46) | \
|
||||
PIN_PUPDR_PULLUP(GPIOC_ZIO_D47) | \
|
||||
PIN_PUPDR_FLOATING(GPIOC_BUTTON) | \
|
||||
PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \
|
||||
PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
|
||||
EFI_DR_DEFAULT(GPIOC_BUTTON) | \
|
||||
EFI_DR_DEFAULT(GPIOC_OSC32_IN) | \
|
||||
EFI_DR_DEFAULT(GPIOC_OSC32_OUT))
|
||||
#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_ARD_A1) | \
|
||||
PIN_ODR_HIGH(GPIOC_RMII_MDC) | \
|
||||
PIN_ODR_HIGH(GPIOC_ZIO_A7) | \
|
||||
|
@ -923,22 +933,22 @@
|
|||
* PD14 - ARD_D10 SPI1_NSS (input pullup).
|
||||
* PD15 - ARD_D9 TIM4_CH4 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_ZIO_D67) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D66) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D48) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D55) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D54) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D53) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D52) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D51) | \
|
||||
#define VAL_GPIOD_MODER (EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D67) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D66) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D48) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D55) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D54) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D53) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D52) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D51) | \
|
||||
PIN_MODE_ALTERNATE(GPIOD_USART3_RX) | \
|
||||
PIN_MODE_ALTERNATE(GPIOD_USART3_TX) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D30) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D29) | \
|
||||
PIN_MODE_INPUT(GPIOD_ZIO_D28) | \
|
||||
PIN_MODE_INPUT(GPIOD_ARD_D10) | \
|
||||
PIN_MODE_INPUT(GPIOD_ARD_D9))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D30) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D29) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ZIO_D28) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ARD_D10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_ARD_D9))
|
||||
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D67) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D66) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D48) | \
|
||||
|
@ -955,22 +965,22 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D28) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOD_ARD_D10) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOD_ARD_D9))
|
||||
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_HIGH(GPIOD_ZIO_D67) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D66) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D48) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D55) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D54) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D53) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D52) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D51) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_USART3_RX) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_USART3_TX) | \
|
||||
#define VAL_GPIOD_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOD_ZIO_D67) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D66) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D48) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D55) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D54) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D53) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D52) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D51) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_USART3_RX) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_USART3_TX) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D30) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D29) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ZIO_D28) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ARD_D10) | \
|
||||
PIN_OSPEED_HIGH(GPIOD_ARD_D9))
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D30) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D29) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ZIO_D28) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ARD_D10) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOD_ARD_D9))
|
||||
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_ZIO_D67) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D66) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D48) | \
|
||||
|
@ -979,8 +989,8 @@
|
|||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D53) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D52) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D51) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_USART3_RX) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_USART3_TX) | \
|
||||
EFI_DR_DEFAULT(GPIOD_USART3_RX) | \
|
||||
EFI_DR_DEFAULT(GPIOD_USART3_TX) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D30) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_ZIO_D29) | \
|
||||
|
@ -1040,22 +1050,22 @@
|
|||
* PE14 - ZIO_D38 (input pullup).
|
||||
* PE15 - ZIO_D37 TIM1_BKIN1 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_ZIO_D34) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D31) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D60) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D57) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D58) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D59) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D41) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D42) | \
|
||||
PIN_MODE_INPUT(GPIOE_ARD_D6) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D40) | \
|
||||
PIN_MODE_INPUT(GPIOE_ARD_D5) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D39) | \
|
||||
PIN_MODE_INPUT(GPIOE_ARD_D3) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D38) | \
|
||||
PIN_MODE_INPUT(GPIOE_ZIO_D37))
|
||||
#define VAL_GPIOE_MODER (EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D34) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D31) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D60) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D57) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D58) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D59) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D41) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D42) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ARD_D6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D40) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ARD_D5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D39) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ARD_D3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D38) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_ZIO_D37))
|
||||
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D34) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D31) | \
|
||||
|
@ -1072,22 +1082,22 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOE_ARD_D3) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D38) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D37))
|
||||
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_HIGH(GPIOE_ZIO_D34) | \
|
||||
#define VAL_GPIOE_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOE_ZIO_D34) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D31) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D60) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D57) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D58) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D59) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D41) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D42) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ARD_D6) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D40) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ARD_D5) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D39) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ARD_D3) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D31) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D60) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D57) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D58) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D59) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D41) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D42) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ARD_D6) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D40) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ARD_D5) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D39) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ARD_D3) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOE_ZIO_D38) | \
|
||||
PIN_OSPEED_HIGH(GPIOE_ZIO_D37))
|
||||
DEFAULT_GPIO_SPEED(GPIOE_ZIO_D37))
|
||||
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_ZIO_D34) | \
|
||||
PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
|
||||
PIN_PUPDR_PULLUP(GPIOE_ZIO_D31) | \
|
||||
|
@ -1157,22 +1167,22 @@
|
|||
* PF14 - ARD_D4 (input pullup).
|
||||
* PF15 - ARD_D2 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_ZIO_D68) | \
|
||||
PIN_MODE_INPUT(GPIOF_ZIO_D69) | \
|
||||
PIN_MODE_INPUT(GPIOF_ZIO_D70) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_A3) | \
|
||||
PIN_MODE_INPUT(GPIOF_ZIO_A8) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_A4) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOF_ZIO_D62) | \
|
||||
PIN_MODE_INPUT(GPIOF_ZIO_D61) | \
|
||||
PIN_MODE_INPUT(GPIOF_ZIO_D63) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_A5) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_D8) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_D7) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_D4) | \
|
||||
PIN_MODE_INPUT(GPIOF_ARD_D2))
|
||||
#define VAL_GPIOF_MODER (EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_D68) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_D69) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_D70) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_A3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_A8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_A4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_D62) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_D61) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ZIO_D63) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_A5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_D8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_D7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_D4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_ARD_D2))
|
||||
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D68) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D69) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D70) | \
|
||||
|
@ -1189,17 +1199,17 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOF_ARD_D7) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOF_ARD_D4) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOF_ARD_D2))
|
||||
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_HIGH(GPIOF_ZIO_D68) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ZIO_D69) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ZIO_D70) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ARD_A3) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ZIO_A8) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ARD_A4) | \
|
||||
#define VAL_GPIOF_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOF_ZIO_D68) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ZIO_D69) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ZIO_D70) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ARD_A3) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ZIO_A8) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ARD_A4) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ZIO_D62) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ZIO_D61) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ZIO_D63) | \
|
||||
PIN_OSPEED_HIGH(GPIOF_ARD_A5) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ZIO_D62) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ZIO_D61) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ZIO_D63) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_ARD_A5) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOF_ARD_D8) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOF_ARD_D7) | \
|
||||
|
@ -1274,22 +1284,22 @@
|
|||
* PG14 - ARD_D1 USART6_TX (input pullup).
|
||||
* PG15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOG_MODER (PIN_MODE_INPUT(GPIOG_ZIO_D65) | \
|
||||
PIN_MODE_INPUT(GPIOG_ZIO_D64) | \
|
||||
PIN_MODE_INPUT(GPIOG_ZIO_D49) | \
|
||||
PIN_MODE_INPUT(GPIOG_ZIO_D50) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOG_USB_GPIO_OUT) | \
|
||||
PIN_MODE_INPUT(GPIOG_USB_GPIO_IN) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOG_ARD_D0) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN10) | \
|
||||
#define VAL_GPIOG_MODER (EFI_PIN_MODE_DEFAULT(GPIOG_ZIO_D65) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_ZIO_D64) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_ZIO_D49) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_ZIO_D50) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_USB_GPIO_OUT) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_USB_GPIO_IN) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_ARD_D0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN10) | \
|
||||
PIN_MODE_ALTERNATE(GPIOG_RMII_TX_EN) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN12) | \
|
||||
PIN_MODE_ALTERNATE(GPIOG_RMII_TXD0) | \
|
||||
PIN_MODE_INPUT(GPIOG_ARD_D1) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN15))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_ARD_D1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D65) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D64) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D49) | \
|
||||
|
@ -1312,15 +1322,15 @@
|
|||
PIN_OSPEED_VERYLOW(GPIOG_ZIO_D50) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOG_PIN4) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOG_PIN5) | \
|
||||
PIN_OSPEED_HIGH(GPIOG_USB_GPIO_OUT) | \
|
||||
PIN_OSPEED_HIGH(GPIOG_USB_GPIO_IN) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_USB_GPIO_OUT) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_USB_GPIO_IN) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOG_PIN8) | \
|
||||
PIN_OSPEED_HIGH(GPIOG_ARD_D0) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_ARD_D0) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOG_PIN10) | \
|
||||
PIN_OSPEED_HIGH(GPIOG_RMII_TX_EN) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_RMII_TX_EN) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOG_PIN12) | \
|
||||
PIN_OSPEED_HIGH(GPIOG_RMII_TXD0) | \
|
||||
PIN_OSPEED_HIGH(GPIOG_ARD_D1) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_RMII_TXD0) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_ARD_D1) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLUP(GPIOG_ZIO_D65) | \
|
||||
PIN_PUPDR_PULLUP(GPIOG_ZIO_D64) | \
|
||||
|
@ -1333,9 +1343,9 @@
|
|||
PIN_PUPDR_PULLUP(GPIOG_PIN8) | \
|
||||
PIN_PUPDR_PULLUP(GPIOG_ARD_D0) | \
|
||||
PIN_PUPDR_PULLUP(GPIOG_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_RMII_TX_EN) | \
|
||||
EFI_DR_DEFAULT(GPIOG_RMII_TX_EN) | \
|
||||
PIN_PUPDR_PULLUP(GPIOG_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_RMII_TXD0) | \
|
||||
EFI_DR_DEFAULT(GPIOG_RMII_TXD0) | \
|
||||
PIN_PUPDR_PULLUP(GPIOG_ARD_D1) | \
|
||||
PIN_PUPDR_PULLUP(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_ODR (PIN_ODR_HIGH(GPIOG_ZIO_D65) | \
|
||||
|
@ -1391,22 +1401,22 @@
|
|||
* PH14 - PIN14 (input pullup).
|
||||
* PH15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_OSC_IN) | \
|
||||
PIN_MODE_INPUT(GPIOH_OSC_OUT) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_MODER (EFI_PIN_MODE_DEFAULT(GPIOH_OSC_IN) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_OSC_OUT) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \
|
||||
|
@ -1423,8 +1433,8 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_HIGH(GPIOH_OSC_IN) | \
|
||||
PIN_OSPEED_HIGH(GPIOH_OSC_OUT) | \
|
||||
#define VAL_GPIOH_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOH_OSC_IN) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOH_OSC_OUT) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOH_PIN2) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOH_PIN3) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOH_PIN4) | \
|
||||
|
@ -1439,8 +1449,8 @@
|
|||
PIN_OSPEED_VERYLOW(GPIOH_PIN13) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOH_PIN14) | \
|
||||
PIN_OSPEED_VERYLOW(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) | \
|
||||
#define VAL_GPIOH_PUPDR (EFI_DR_DEFAULT(GPIOH_OSC_IN) | \
|
||||
EFI_DR_DEFAULT(GPIOH_OSC_OUT) | \
|
||||
PIN_PUPDR_PULLUP(GPIOH_PIN2) | \
|
||||
PIN_PUPDR_PULLUP(GPIOH_PIN3) | \
|
||||
PIN_PUPDR_PULLUP(GPIOH_PIN4) | \
|
||||
|
@ -1508,22 +1518,22 @@
|
|||
* PI14 - PIN14 (input pullup).
|
||||
* PI15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOI_MODER (PIN_MODE_INPUT(GPIOI_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_MODER (EFI_PIN_MODE_DEFAULT(GPIOI_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(GPIOI_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOI_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOI_PIN2) | \
|
||||
|
@ -1625,22 +1635,22 @@
|
|||
* PJ14 - PIN14 (input pullup).
|
||||
* PJ15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOJ_MODER (PIN_MODE_INPUT(GPIOJ_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOJ_PIN15))
|
||||
#define VAL_GPIOJ_MODER (EFI_PIN_MODE_DEFAULT(GPIOJ_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOJ_PIN15))
|
||||
#define VAL_GPIOJ_OTYPER (PIN_OTYPE_PUSHPULL(GPIOJ_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOJ_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOJ_PIN2) | \
|
||||
|
@ -1742,22 +1752,22 @@
|
|||
* PK14 - PIN14 (input pullup).
|
||||
* PK15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOK_MODER (PIN_MODE_INPUT(GPIOK_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOK_PIN15))
|
||||
#define VAL_GPIOK_MODER (EFI_PIN_MODE_DEFAULT(GPIOK_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOK_PIN15))
|
||||
#define VAL_GPIOK_OTYPER (PIN_OTYPE_PUSHPULL(GPIOK_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOK_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOK_PIN2) | \
|
||||
|
|
|
@ -63,22 +63,22 @@ static void setPrometheusDefaults(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->tpsErrorDetectionTooLow = -10; // -10% open
|
||||
engineConfiguration->tpsErrorDetectionTooHigh = 110; // 110% open
|
||||
|
||||
boardConfiguration->mapMinBufferLength = 4;
|
||||
engineConfiguration->mapMinBufferLength = 4;
|
||||
|
||||
}
|
||||
|
||||
void setPinConfigurationOverrides(void) {
|
||||
#if 0
|
||||
boardConfiguration->injectionPins[0] = is469 ? GPIOD_9 : GPIOB_14; // #1
|
||||
boardConfiguration->injectionPins[1] = is469 ? GPIOD_15 : GPIOC_7; // #2
|
||||
boardConfiguration->injectionPins[2] = is469 ? GPIOD_10 : GPIOB_15; // #3
|
||||
boardConfiguration->injectionPins[3] = is469 ? GPIOD_14 : GPIOC_6; // #4
|
||||
engineConfiguration->injectionPins[0] = is469 ? GPIOD_9 : GPIOB_14; // #1
|
||||
engineConfiguration->injectionPins[1] = is469 ? GPIOD_15 : GPIOC_7; // #2
|
||||
engineConfiguration->injectionPins[2] = is469 ? GPIOD_10 : GPIOB_15; // #3
|
||||
engineConfiguration->injectionPins[3] = is469 ? GPIOD_14 : GPIOC_6; // #4
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOA_10;
|
||||
boardConfiguration->ignitionPins[1] = GPIOA_9;
|
||||
boardConfiguration->ignitionPins[2] = GPIOA_8;
|
||||
boardConfiguration->ignitionPins[3] = GPIOA_11;
|
||||
boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOA_10;
|
||||
engineConfiguration->ignitionPins[1] = GPIOA_9;
|
||||
engineConfiguration->ignitionPins[2] = GPIOA_8;
|
||||
engineConfiguration->ignitionPins[3] = GPIOA_11;
|
||||
engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
||||
enginePins.startInjectionPins();
|
||||
enginePins.startIgnitionPins();
|
||||
|
@ -109,20 +109,20 @@ void setPinConfigurationOverrides(void) {
|
|||
}
|
||||
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = true;
|
||||
engineConfiguration->useSerialPort = true;
|
||||
engineConfiguration->binarySerialTxPin = GPIOA_0;
|
||||
engineConfiguration->binarySerialRxPin = GPIOA_1;
|
||||
engineConfiguration->consoleSerialTxPin = GPIOA_0;
|
||||
engineConfiguration->consoleSerialRxPin = GPIOA_1;
|
||||
boardConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->uartConsoleSerialSpeed = SERIAL_SPEED;
|
||||
}
|
||||
|
||||
void setSdCardConfigurationOverrides(void) {
|
||||
boardConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_1;
|
||||
boardConfiguration->sdCardCsPin = GPIOA_2;
|
||||
boardConfiguration->isSdCardEnabled = true;
|
||||
engineConfiguration->sdCardCsPin = GPIOA_2;
|
||||
engineConfiguration->isSdCardEnabled = true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -148,24 +148,24 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE;
|
||||
engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_NONE;
|
||||
|
||||
boardConfiguration->injectionPins[0] = is469 ? GPIOD_9 : GPIOB_14; // #1
|
||||
boardConfiguration->injectionPins[1] = is469 ? GPIOD_15 : GPIOC_7; // #2
|
||||
boardConfiguration->injectionPins[2] = is469 ? GPIOD_10 : GPIOB_15; // #3
|
||||
boardConfiguration->injectionPins[3] = is469 ? GPIOD_14 : GPIOC_6; // #4
|
||||
engineConfiguration->injectionPins[0] = is469 ? GPIOD_9 : GPIOB_14; // #1
|
||||
engineConfiguration->injectionPins[1] = is469 ? GPIOD_15 : GPIOC_7; // #2
|
||||
engineConfiguration->injectionPins[2] = is469 ? GPIOD_10 : GPIOB_15; // #3
|
||||
engineConfiguration->injectionPins[3] = is469 ? GPIOD_14 : GPIOC_6; // #4
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOA_10;
|
||||
boardConfiguration->ignitionPins[1] = GPIOA_9;
|
||||
boardConfiguration->ignitionPins[2] = GPIOA_8;
|
||||
boardConfiguration->ignitionPins[3] = GPIOA_11;
|
||||
boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOA_10;
|
||||
engineConfiguration->ignitionPins[1] = GPIOA_9;
|
||||
engineConfiguration->ignitionPins[2] = GPIOA_8;
|
||||
engineConfiguration->ignitionPins[3] = GPIOA_11;
|
||||
engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
||||
engineConfiguration->vbattDividerCoeff = ((float) (2 + 10)) / 2;
|
||||
engineConfiguration->clt.config.bias_resistor = 2700;
|
||||
engineConfiguration->iat.config.bias_resistor = 2700;
|
||||
|
||||
boardConfiguration->useStepperIdle = true;
|
||||
boardConfiguration->idle.stepperDirectionPin = is469 ? GPIOB_14 : GPIOB_12;
|
||||
boardConfiguration->idle.stepperStepPin = is469 ? GPIOB_15 : GPIOB_13;
|
||||
engineConfiguration->useStepperIdle = true;
|
||||
engineConfiguration->idle.stepperDirectionPin = is469 ? GPIOB_14 : GPIOB_12;
|
||||
engineConfiguration->idle.stepperStepPin = is469 ? GPIOB_15 : GPIOB_13;
|
||||
engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->stepperEnablePinMode = OM_DEFAULT;
|
||||
|
||||
|
@ -174,93 +174,93 @@ void setBoardConfigurationOverrides(void) {
|
|||
//engineConfiguration->fatalErrorPin = GPIOA_13;
|
||||
engineConfiguration->warningLedPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = is469 ? GPIOE_9 : GPIOA_6;
|
||||
|
||||
boardConfiguration->tachOutputPin = GPIOC_8;
|
||||
boardConfiguration->tachOutputPinMode = OM_DEFAULT;
|
||||
boardConfiguration->fuelPumpPin = is469 ? GPIOD_6 : GPIOB_7;
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
boardConfiguration->mainRelayPin = is469 ? GPIOB_11 : GPIOB_2;
|
||||
boardConfiguration->mainRelayPinMode = OM_DEFAULT;
|
||||
boardConfiguration->fanPin = GPIOC_9;
|
||||
boardConfiguration->fanPinMode = OM_DEFAULT;
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOC_1;
|
||||
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
engineConfiguration->tachOutputPin = GPIOC_8;
|
||||
engineConfiguration->tachOutputPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fuelPumpPin = is469 ? GPIOD_6 : GPIOB_7;
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->mainRelayPin = is469 ? GPIOB_11 : GPIOB_2;
|
||||
engineConfiguration->mainRelayPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fanPin = GPIOC_9;
|
||||
engineConfiguration->fanPinMode = OM_DEFAULT;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOC_1;
|
||||
engineConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
|
||||
// starter block
|
||||
setFsio(0, (is469 ? GPIOB_10 : GPIOB_1), STARTER_RELAY_LOGIC PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
||||
// debug pad
|
||||
boardConfiguration->triggerSimulatorPins[0] = GPIOD_8;
|
||||
boardConfiguration->triggerSimulatorPinModes[0] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPins[0] = GPIOD_8;
|
||||
engineConfiguration->triggerSimulatorPinModes[0] = OM_DEFAULT;
|
||||
|
||||
// not used
|
||||
engineConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->externalKnockSenseAdc = EFI_ADC_NONE;
|
||||
engineConfiguration->displayMode = DM_NONE;
|
||||
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
for (int i = 0; i < DIGIPOT_COUNT ; i++) {
|
||||
boardConfiguration->digitalPotentiometerChipSelect[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
boardConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
engineConfiguration->vehicleSpeedSensorInputPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
boardConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
engineConfiguration->max31855spiDevice = SPI_NONE;
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
boardConfiguration->is_enabled_spi_1 = true;
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->is_enabled_spi_3 = true;
|
||||
|
||||
boardConfiguration->spi1mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi1mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi1MosiMode = PO_DEFAULT; // PAL_STM32_OTYPE_PUSHPULL
|
||||
boardConfiguration->spi1misoPin = GPIOB_4;
|
||||
engineConfiguration->spi1misoPin = GPIOB_4;
|
||||
engineConfiguration->spi1MisoMode = PO_DEFAULT; // PAL_STM32_OTYPE_PUSHPULL
|
||||
boardConfiguration->spi1sckPin = GPIOB_3;
|
||||
engineConfiguration->spi1sckPin = GPIOB_3;
|
||||
engineConfiguration->spi1SckMode = PO_DEFAULT; // PAL_STM32_OTYPE_PUSHPULL
|
||||
|
||||
boardConfiguration->spi3mosiPin = GPIOC_12;
|
||||
engineConfiguration->spi3mosiPin = GPIOC_12;
|
||||
engineConfiguration->spi3MosiMode = PO_OPENDRAIN; // 4
|
||||
boardConfiguration->spi3misoPin = GPIOC_11;
|
||||
engineConfiguration->spi3misoPin = GPIOC_11;
|
||||
engineConfiguration->spi3MisoMode = PO_PULLUP; // 32
|
||||
boardConfiguration->spi3sckPin = GPIOC_10;
|
||||
engineConfiguration->spi3sckPin = GPIOC_10;
|
||||
engineConfiguration->spi3SckMode = PO_OPENDRAIN; // 4
|
||||
|
||||
engineConfiguration->hip9011SpiDevice = SPI_DEVICE_3;
|
||||
boardConfiguration->hip9011CsPin = is469 ? GPIOD_1 : GPIOD_2;
|
||||
boardConfiguration->hip9011CsPinMode = OM_OPENDRAIN;
|
||||
boardConfiguration->hip9011IntHoldPin = GPIOC_14;
|
||||
boardConfiguration->hip9011IntHoldPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->hip9011CsPin = is469 ? GPIOD_1 : GPIOD_2;
|
||||
engineConfiguration->hip9011CsPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->hip9011IntHoldPin = GPIOC_14;
|
||||
engineConfiguration->hip9011IntHoldPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->hipOutputChannel = EFI_ADC_10; // PC0
|
||||
boardConfiguration->isHip9011Enabled = true;
|
||||
engineConfiguration->isHip9011Enabled = true;
|
||||
|
||||
engineConfiguration->cj125SpiDevice = SPI_DEVICE_3;
|
||||
engineConfiguration->cj125ua = is469 ? EFI_ADC_9 : EFI_ADC_8;
|
||||
engineConfiguration->cj125ur = EFI_ADC_12;
|
||||
boardConfiguration->cj125CsPin = GPIOA_15;
|
||||
engineConfiguration->cj125CsPin = GPIOA_15;
|
||||
engineConfiguration->cj125CsPinMode = OM_OPENDRAIN;
|
||||
boardConfiguration->wboHeaterPin = GPIOC_13;
|
||||
boardConfiguration->o2heaterPin = GPIOC_13;
|
||||
//boardConfiguration->isCJ125Enabled = true;
|
||||
boardConfiguration->isCJ125Enabled = false;
|
||||
engineConfiguration->wboHeaterPin = GPIOC_13;
|
||||
engineConfiguration->o2heaterPin = GPIOC_13;
|
||||
//engineConfiguration->isCJ125Enabled = true;
|
||||
engineConfiguration->isCJ125Enabled = false;
|
||||
|
||||
boardConfiguration->canDeviceMode = CD_USE_CAN1;
|
||||
boardConfiguration->canTxPin = GPIOB_9;
|
||||
boardConfiguration->canRxPin = GPIOB_8;
|
||||
engineConfiguration->canDeviceMode = CD_USE_CAN1;
|
||||
engineConfiguration->canTxPin = GPIOB_9;
|
||||
engineConfiguration->canRxPin = GPIOB_8;
|
||||
|
||||
//!!!!!!!!!!!!!!!
|
||||
#if 1
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
/**
|
||||
* @file adc_hack.cpp
|
||||
* @brief Hacky support for a single channel on adc3
|
||||
*
|
||||
* @date December 17, 2019
|
||||
* @author Matthew Kennedy, (c) 2019
|
||||
*/
|
||||
|
||||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
|
||||
#include "mpu_util.h"
|
||||
#include "io_pins.h"
|
||||
|
||||
#include "efilib.h"
|
||||
|
||||
static ADCConversionGroup adcConvGroup = { FALSE, 1, nullptr, nullptr,
|
||||
0,
|
||||
ADC_CR2_SWSTART,
|
||||
0, // sample times for channels 10...18
|
||||
ADC_SMPR2_SMP_AN9(ADC_SAMPLE_56),
|
||||
|
||||
0, // htr
|
||||
0, // ltr
|
||||
|
||||
0, // sqr1
|
||||
0, // sqr2
|
||||
ADC_SQR3_SQ1_N(ADC_CHANNEL_IN9) // sqr3 - vbatt is on pf3 = adc9
|
||||
};
|
||||
|
||||
__ALIGNED(32) adcsample_t samples[8];
|
||||
|
||||
// we use this as a hook to run near the rest of ADC init...
|
||||
void setAdcChannelOverrides(void) {
|
||||
efiSetPadMode("adc input", GPIOF_3, PAL_MODE_INPUT_ANALOG);
|
||||
|
||||
adcStart(&ADCD3, nullptr);
|
||||
}
|
||||
|
||||
adcsample_t vbattSampleProteus = 0;
|
||||
|
||||
void proteusAdcHack()
|
||||
{
|
||||
adcConvert(&ADCD3, &adcConvGroup, samples, 8);
|
||||
SCB_InvalidateDCache_by_Addr(reinterpret_cast<uint32_t*>(samples), sizeof(samples));
|
||||
|
||||
uint32_t sum = 0;
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
sum += samples[i];
|
||||
}
|
||||
|
||||
vbattSampleProteus = sum / efi::size(samples);
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
# List of all the board related files.
|
||||
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c
|
||||
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/proteus/board_configuration.cpp
|
||||
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/proteus/board_configuration.cpp \
|
||||
$(PROJECT_DIR)/config/boards/proteus/adc_hack.cpp
|
||||
|
||||
# Required include directories
|
||||
BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_f767 $(PROJECT_DIR)/config/stm32f7ems
|
||||
|
@ -8,4 +9,4 @@ BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_f767 $(PROJECT_DIR)/config/stm32f
|
|||
LDSCRIPT= $(PROJECT_DIR)/config/boards/nucleo_f767/STM32F76xxI.ld
|
||||
|
||||
# Override DEFAULT_ENGINE_TYPE
|
||||
DDEFS += -DSTM32F767xx -DEFI_USE_OSC=TRUE -DEFI_FATAL_ERROR_PIN=GPIOE_3 -DFIRMWARE_ID=\"proteus\" -DDEFAULT_ENGINE_TYPE=PROTEUS
|
||||
DDEFS += -DSTM32F767xx -DEFI_USE_OSC=TRUE -DEFI_FATAL_ERROR_PIN=GPIOE_3 -DFIRMWARE_ID=\"proteus\" -DDEFAULT_ENGINE_TYPE=PROTEUS -DUSE_ADC3_VBATT_HACK -DSTM32_ADC_USE_ADC3=TRUE
|
||||
|
|
|
@ -15,49 +15,55 @@
|
|||
|
||||
EXTERN_ENGINE;
|
||||
|
||||
static void setInjectorPins() {
|
||||
boardConfiguration->injectionPins[0] = GPIOD_7;
|
||||
boardConfiguration->injectionPins[1] = GPIOG_9;
|
||||
boardConfiguration->injectionPins[2] = GPIOG_10;
|
||||
boardConfiguration->injectionPins[3] = GPIOG_11;
|
||||
boardConfiguration->injectionPins[4] = GPIOG_12;
|
||||
boardConfiguration->injectionPins[5] = GPIOG_13;
|
||||
boardConfiguration->injectionPins[6] = GPIOG_14;
|
||||
boardConfiguration->injectionPins[7] = GPIOB_4;
|
||||
boardConfiguration->injectionPins[8] = GPIOB_5;
|
||||
boardConfiguration->injectionPins[9] = GPIOB_6;
|
||||
boardConfiguration->injectionPins[10] = GPIOB_7;
|
||||
boardConfiguration->injectionPins[11] = GPIOB_8;
|
||||
static const brain_pin_e injPins[] = {
|
||||
GPIOD_7,
|
||||
GPIOG_9,
|
||||
GPIOG_10,
|
||||
GPIOG_11,
|
||||
GPIOG_12,
|
||||
GPIOG_13,
|
||||
GPIOG_14,
|
||||
GPIOB_4,
|
||||
GPIOB_5,
|
||||
GPIOB_6,
|
||||
GPIOB_7,
|
||||
GPIOB_8
|
||||
};
|
||||
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
static const brain_pin_e ignPins[] = {
|
||||
GPIOD_4,
|
||||
GPIOD_3,
|
||||
GPIOC_9,
|
||||
GPIOC_8,
|
||||
GPIOC_7,
|
||||
GPIOG_8,
|
||||
GPIOG_7,
|
||||
GPIOG_6,
|
||||
GPIOG_5,
|
||||
GPIOG_4,
|
||||
GPIOG_3,
|
||||
GPIOG_2,
|
||||
};
|
||||
|
||||
static void setInjectorPins() {
|
||||
copyArray(engineConfiguration->injectionPins, injPins);
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
}
|
||||
|
||||
static void setIgnitionPins() {
|
||||
boardConfiguration->ignitionPins[0] = GPIOD_4;
|
||||
boardConfiguration->ignitionPins[1] = GPIOD_3;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[3] = GPIOC_8;
|
||||
boardConfiguration->ignitionPins[4] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[5] = GPIOG_8;
|
||||
boardConfiguration->ignitionPins[6] = GPIOG_7;
|
||||
boardConfiguration->ignitionPins[7] = GPIOG_6;
|
||||
boardConfiguration->ignitionPins[8] = GPIOG_5;
|
||||
boardConfiguration->ignitionPins[9] = GPIOG_4;
|
||||
boardConfiguration->ignitionPins[10] = GPIOG_3;
|
||||
boardConfiguration->ignitionPins[11] = GPIOG_2;
|
||||
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
copyArray(engineConfiguration->ignitionPins, ignPins);
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
}
|
||||
|
||||
static void setLedPins() {
|
||||
engineConfiguration->communicationLedPin = GPIOE_4;
|
||||
engineConfiguration->runningLedPin = GPIOE_5;
|
||||
boardConfiguration->triggerErrorPin = GPIOE_6;
|
||||
engineConfiguration->triggerErrorPin = GPIOE_6;
|
||||
}
|
||||
|
||||
static void setupVbatt() {
|
||||
// 6.8k high side/10k low side = 1.6667 ratio divider
|
||||
engineConfiguration->analogInputDividerCoefficient = 2.5f / 1.5f;
|
||||
// 5.6k high side/10k low side = 1.56 ratio divider
|
||||
engineConfiguration->analogInputDividerCoefficient = 1.56f;
|
||||
|
||||
// 47k high side/10k low side = 4.7
|
||||
engineConfiguration->vbattDividerCoeff = (57.0f / 10.0f);
|
||||
|
@ -103,9 +109,9 @@ static void setupEtb() {
|
|||
static void setupDefaultSensorInputs() {
|
||||
// trigger inputs
|
||||
// VR channel 1 as default - others not set
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = GPIO_UNASSIGNED;
|
||||
|
||||
// clt = Analog Temp 1 = PC4
|
||||
|
@ -123,7 +129,7 @@ void setPinConfigurationOverrides(void) {
|
|||
}
|
||||
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = false;
|
||||
engineConfiguration->useSerialPort = false;
|
||||
engineConfiguration->binarySerialTxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->binarySerialRxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->consoleSerialTxPin = GPIO_UNASSIGNED;
|
||||
|
@ -161,6 +167,3 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
|
||||
engineConfiguration->injectionMode = IM_SIMULTANEOUS;
|
||||
}
|
||||
|
||||
void setAdcChannelOverrides(void) {
|
||||
}
|
||||
|
|
|
@ -42,10 +42,10 @@ EXTERN_ENGINE;
|
|||
// This shows a SPI connected TLE8888.
|
||||
static void setupTle8888() {
|
||||
// Enable the SPI channel and set up the SPI pins
|
||||
boardConfiguration->is_enabled_spi_3 = true;
|
||||
boardConfiguration->spi3mosiPin = GPIOB_5;
|
||||
boardConfiguration->spi3misoPin = GPIOB_4;
|
||||
boardConfiguration->spi3sckPin = GPIOB_3;
|
||||
engineConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->spi3mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi3misoPin = GPIOB_4;
|
||||
engineConfiguration->spi3sckPin = GPIOB_3;
|
||||
|
||||
// SPI chip select is often independent of the SPI pin limitations
|
||||
engineConfiguration->tle8888_cs = GPIOD_5;
|
||||
|
@ -81,8 +81,8 @@ static void setupDefaultSensorInputs() {
|
|||
// Engine rotation position sensors
|
||||
// Trigger is our primary timing signal, and usually comes from the crank.
|
||||
// trigger inputs up TRIGGER_SUPPORTED_CHANNELS (2)
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
// A secondary Cam signal up to CAM_INPUTS_COUNT (4)
|
||||
engineConfiguration->camInputs[0] = GPIOA_5;
|
||||
|
||||
|
@ -121,7 +121,7 @@ void setPinConfigurationOverrides(void) {
|
|||
|
||||
// Future: configure USART3 for LIN bus and UART4 for console
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = false;
|
||||
engineConfiguration->useSerialPort = false;
|
||||
engineConfiguration->binarySerialTxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->binarySerialRxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->consoleSerialTxPin = GPIO_UNASSIGNED;
|
||||
|
@ -140,7 +140,7 @@ void setBoardConfigurationOverrides(void) {
|
|||
|
||||
// Set indicator LED pins.
|
||||
// This is often redundant with efifeatures.h or the run-time config
|
||||
boardConfiguration->triggerErrorPin = GPIOE_1;
|
||||
engineConfiguration->triggerErrorPin = GPIOE_1;
|
||||
engineConfiguration->communicationLedPin = GPIOE_2;
|
||||
engineConfiguration->FatalErrorPin = GPIOE_3;
|
||||
engineConfiguration->runningLedPin = GPIOE_4;
|
||||
|
@ -149,25 +149,25 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->errorLedPin = GPIOE_7;
|
||||
|
||||
// Set injector pins and the pin output mode
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
boardConfiguration->injectionPins[0] = GPIOE_14;
|
||||
boardConfiguration->injectionPins[1] = GPIOE_13;
|
||||
boardConfiguration->injectionPins[2] = GPIOE_12;
|
||||
boardConfiguration->injectionPins[3] = GPIOE_11;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPins[0] = GPIOE_14;
|
||||
engineConfiguration->injectionPins[1] = GPIOE_13;
|
||||
engineConfiguration->injectionPins[2] = GPIOE_12;
|
||||
engineConfiguration->injectionPins[3] = GPIOE_11;
|
||||
// Disable the remainder only when they may never be assigned
|
||||
for (int i = 4; i < INJECTION_PIN_COUNT;i++) {
|
||||
boardConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
// Do the same for ignition outputs
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
boardConfiguration->ignitionPins[0] = GPIOD_4;
|
||||
boardConfiguration->ignitionPins[1] = GPIOD_3;
|
||||
boardConfiguration->ignitionPins[2] = GPIOD_2;
|
||||
boardConfiguration->ignitionPins[3] = GPIOD_1;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPins[0] = GPIOD_4;
|
||||
engineConfiguration->ignitionPins[1] = GPIOD_3;
|
||||
engineConfiguration->ignitionPins[2] = GPIOD_2;
|
||||
engineConfiguration->ignitionPins[3] = GPIOD_1;
|
||||
// Disable remainder
|
||||
for (int i = 4; i < IGNITION_PIN_COUNT; i++) {
|
||||
boardConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
// Board-specific scaling values to convert ADC fraction to Volts.
|
||||
|
@ -199,16 +199,16 @@ void setBoardConfigurationOverrides(void) {
|
|||
// Configure the TLE8888 half bridges (pushpull, lowside, or high-low)
|
||||
// TLE8888_IN11 -> TLE8888_OUT21
|
||||
// GPIOE_8: "35 - GP Out 1"
|
||||
boardConfiguration->fuelPumpPin = GPIOE_8;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_8;
|
||||
|
||||
|
||||
// TLE8888 high current low side: VVT2 IN9 / OUT5
|
||||
// GPIOE_10: "3 - Lowside 2"
|
||||
boardConfiguration->idle.solenoidPin = GPIOE_10;
|
||||
engineConfiguration->idle.solenoidPin = GPIOE_10;
|
||||
|
||||
|
||||
// TLE8888_PIN_22: "34 - GP Out 2"
|
||||
boardConfiguration->fanPin = TLE8888_PIN_22;
|
||||
engineConfiguration->fanPin = TLE8888_PIN_22;
|
||||
|
||||
// The "required" hardware is done - set some reasonable input defaults
|
||||
setupDefaultSensorInputs();
|
||||
|
|
|
@ -267,7 +267,6 @@
|
|||
|
||||
// todo: switch to continuous ADC conversion for slow ADC?
|
||||
// https://github.com/rusefi/rusefi/issues/630
|
||||
#define EFI_INTERNAL_SLOW_ADC_PWM &PWMD8
|
||||
// todo: switch to continues ADC conversion for fast ADC?
|
||||
#define EFI_INTERNAL_FAST_ADC_PWM &PWMD4
|
||||
|
||||
|
|
|
@ -39,6 +39,13 @@
|
|||
#define EFI_USB_SERIAL_DP GPIOA_12
|
||||
|
||||
|
||||
/*
|
||||
* input-floating is the default pin mode. input-output boards should provision appropriate pull-ups/pull-downs.
|
||||
*/
|
||||
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
|
||||
#define EFI_DR_DEFAULT PIN_PUPDR_FLOATING
|
||||
|
||||
|
||||
/*
|
||||
* Board oscillators-related settings.
|
||||
* NOTE: LSE not fitted.
|
||||
|
@ -70,7 +77,7 @@
|
|||
/*
|
||||
* IO pins assignments.
|
||||
*/
|
||||
#define GPIOA_BUTTON 0
|
||||
#define GPIOA_PIN0 0
|
||||
#define GPIOA_PIN1 1
|
||||
#define GPIOA_PIN2 2
|
||||
#define GPIOA_PIN3 3
|
||||
|
@ -79,7 +86,7 @@
|
|||
#define GPIOA_PIN6 6
|
||||
#define GPIOA_PIN7 7
|
||||
#define GPIOA_PIN8 8
|
||||
#define GPIOA_VBUS_FS 9
|
||||
#define GPIOA_PIN9 9
|
||||
#define GPIOA_PIN10 10
|
||||
#define GPIOA_PIN11 11
|
||||
#define GPIOA_PIN12 12
|
||||
|
@ -93,7 +100,7 @@
|
|||
#define GPIOB_SWO 3
|
||||
#define GPIOB_PIN4 4
|
||||
#define GPIOB_PIN5 5
|
||||
#define GPIOB_SCL 6
|
||||
#define GPIOB_PIN6 6
|
||||
#define GPIOB_PIN7 7
|
||||
#define GPIOB_PIN8 8
|
||||
#define GPIOB_PIN9 9
|
||||
|
@ -226,12 +233,7 @@
|
|||
/*
|
||||
* IO lines assignments.
|
||||
*/
|
||||
#define LINE_BUTTON PAL_LINE(GPIOA, 0U)
|
||||
#define LINE_LRCK PAL_LINE(GPIOA, 4U)
|
||||
#define LINE_SPC PAL_LINE(GPIOA, 5U)
|
||||
#define LINE_SDO PAL_LINE(GPIOA, 6U)
|
||||
#define LINE_SDI PAL_LINE(GPIOA, 7U)
|
||||
#define LINE_VBUS_FS PAL_LINE(GPIOA, 9U)
|
||||
#define LINE_OTG_FS_ID PAL_LINE(GPIOA, 10U)
|
||||
#define LINE_OTG_FS_DM PAL_LINE(GPIOA, 11U)
|
||||
#define LINE_OTG_FS_DP PAL_LINE(GPIOA, 12U)
|
||||
|
@ -294,40 +296,30 @@
|
|||
/*
|
||||
* GPIOA setup:
|
||||
*
|
||||
* PA0 - BUTTON (input floating).
|
||||
* PA1 - PIN1 (input pullup).
|
||||
* PA2 - PIN2 (input pullup).
|
||||
* PA3 - PIN3 (input pullup).
|
||||
* PA4 - LRCK (alternate 6).
|
||||
* PA5 - SPC (alternate 5).
|
||||
* PA6 - SDO (alternate 5).
|
||||
* PA7 - SDI (alternate 5).
|
||||
* PA8 - PIN8 (input pullup).
|
||||
* PA9 - VBUS_FS (input floating).
|
||||
* PA10 - OTG_FS_ID (alternate 10).
|
||||
* PA11 - OTG_FS_DM (alternate 10).
|
||||
* PA12 - OTG_FS_DP (alternate 10).
|
||||
* PA13 - SWDIO (alternate 0).
|
||||
* PA14 - SWCLK (alternate 0).
|
||||
* PA15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOA_LRCK) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOA_VBUS_FS) | \
|
||||
#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(GPIOA_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_LRCK) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN9) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_PIN10) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_PIN11) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_PIN12) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
|
||||
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN15))
|
||||
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOA_PIN15))
|
||||
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \
|
||||
|
@ -336,46 +328,46 @@
|
|||
PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_VBUS_FS) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN11) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN12) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
|
||||
#define VAL_GPIOA_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOA_BUTTON) | \
|
||||
#define VAL_GPIOA_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOA_PIN0) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN1) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN2) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN3) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_LRCK) | \
|
||||
PIN_OSPEED_MEDIUM(GPIOA_PIN5) | \
|
||||
PIN_OSPEED_MEDIUM(GPIOA_PIN6) | \
|
||||
PIN_OSPEED_MEDIUM(GPIOA_PIN7) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN5) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN6) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN7) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN8) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_VBUS_FS) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN9) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN10) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN11) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN12) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_SWDIO) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_SWCLK) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOA_PIN15))
|
||||
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_PIN1) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_PIN2) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_LRCK) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_PIN6) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_PIN7) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_PIN8) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_VBUS_FS) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_SWDIO) | \
|
||||
PIN_PUPDR_FLOATING(GPIOA_SWCLK) | \
|
||||
#define VAL_GPIOA_PUPDR (EFI_DR_DEFAULT(GPIOA_PIN0) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN1) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN2) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN3) | \
|
||||
EFI_DR_DEFAULT(GPIOA_LRCK) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN5) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN6) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN7) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN8) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN9) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN10) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN11) | \
|
||||
EFI_DR_DEFAULT(GPIOA_PIN12) | \
|
||||
EFI_DR_DEFAULT(GPIOA_SWDIO) | \
|
||||
EFI_DR_DEFAULT(GPIOA_SWCLK) | \
|
||||
PIN_PUPDR_PULLUP(GPIOA_PIN15))
|
||||
#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \
|
||||
#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_PIN0) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN1) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN2) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN3) | \
|
||||
|
@ -384,14 +376,14 @@
|
|||
PIN_ODR_HIGH(GPIOA_PIN6) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN7) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN8) | \
|
||||
PIN_ODR_HIGH(GPIOA_VBUS_FS) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN9) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN10) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN11) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN12) | \
|
||||
PIN_ODR_HIGH(GPIOA_SWDIO) | \
|
||||
PIN_ODR_HIGH(GPIOA_SWCLK) | \
|
||||
PIN_ODR_HIGH(GPIOA_PIN15))
|
||||
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \
|
||||
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_PIN0, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN1, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN2, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN3, 0U) | \
|
||||
|
@ -400,7 +392,7 @@
|
|||
PIN_AFIO_AF(GPIOA_PIN6, 5U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN7, 5U))
|
||||
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_VBUS_FS, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN9, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN10, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN11, 0U) | \
|
||||
PIN_AFIO_AF(GPIOA_PIN12, 0U) | \
|
||||
|
@ -421,36 +413,36 @@
|
|||
* PB7 - PIN7 (input pullup).
|
||||
* PB8 - PIN8 (input pullup).
|
||||
* PB9 - SDA (alternate 4).
|
||||
* PB10 - CLK_IN (input pullup).
|
||||
* PB10 - PIN10 (input pullup).
|
||||
* PB11 - PIN11 (input pullup).
|
||||
* PB12 - PIN12 (input pullup).
|
||||
* PB13 - PIN13 (input pullup).
|
||||
* PB14 - PIN14 (input pullup).
|
||||
* PB15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN2) | \
|
||||
#define VAL_GPIOB_MODER (EFI_PIN_MODE_DEFAULT(GPIOB_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN2) | \
|
||||
PIN_MODE_ALTERNATE(GPIOB_SWO) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN5) | \
|
||||
PIN_MODE_ALTERNATE(GPIOB_SCL) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN15))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN5) | \
|
||||
PIN_MODE_ALTERNATE(GPIOB_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOB_PIN15))
|
||||
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_SWO) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \
|
||||
PIN_OTYPE_OPENDRAIN(GPIOB_SCL) | \
|
||||
PIN_OTYPE_OPENDRAIN(GPIOB_PIN6) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN7) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
|
||||
|
@ -466,7 +458,7 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOB_SWO) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_PIN4) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_PIN5) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_SCL) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_PIN6) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_PIN7) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_PIN8) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOB_PIN9) | \
|
||||
|
@ -479,10 +471,10 @@
|
|||
#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_PIN1) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOB_SWO) | \
|
||||
EFI_DR_DEFAULT(GPIOB_SWO) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_PIN4) | \
|
||||
PIN_PUPDR_PULLUP(GPIOB_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOB_SCL) | \
|
||||
EFI_DR_DEFAULT(GPIOB_PIN6) | \
|
||||
PIN_PUPDR_PULLDOWN(GPIOB_PIN7) | \
|
||||
PIN_PUPDR_PULLDOWN(GPIOB_PIN8) | \
|
||||
PIN_PUPDR_PULLDOWN(GPIOB_PIN9) | \
|
||||
|
@ -498,7 +490,7 @@
|
|||
PIN_ODR_HIGH(GPIOB_SWO) | \
|
||||
PIN_ODR_HIGH(GPIOB_PIN4) | \
|
||||
PIN_ODR_HIGH(GPIOB_PIN5) | \
|
||||
PIN_ODR_HIGH(GPIOB_SCL) | \
|
||||
PIN_ODR_HIGH(GPIOB_PIN6) | \
|
||||
PIN_ODR_HIGH(GPIOB_PIN7) | \
|
||||
PIN_ODR_HIGH(GPIOB_PIN8) | \
|
||||
PIN_ODR_HIGH(GPIOB_PIN9) | \
|
||||
|
@ -514,7 +506,7 @@
|
|||
PIN_AFIO_AF(GPIOB_SWO, 0U) | \
|
||||
PIN_AFIO_AF(GPIOB_PIN4, 0U) | \
|
||||
PIN_AFIO_AF(GPIOB_PIN5, 0U) | \
|
||||
PIN_AFIO_AF(GPIOB_SCL, 4U) | \
|
||||
PIN_AFIO_AF(GPIOB_PIN6, 4U) | \
|
||||
PIN_AFIO_AF(GPIOB_PIN7, 0U))
|
||||
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \
|
||||
PIN_AFIO_AF(GPIOB_PIN9, 0U) | \
|
||||
|
@ -546,21 +538,21 @@
|
|||
* PC15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOC_MODER (PIN_MODE_OUTPUT(GPIOC_OTG_FS_POWER_ON) |\
|
||||
PIN_MODE_INPUT(GPIOC_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN15))
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_OTG_FS_POWER_ON) |\
|
||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \
|
||||
|
@ -593,7 +585,7 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOC_PIN13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_PIN14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_OTG_FS_POWER_ON) |\
|
||||
#define VAL_GPIOC_PUPDR (EFI_DR_DEFAULT(GPIOC_OTG_FS_POWER_ON) |\
|
||||
PIN_PUPDR_PULLDOWN(GPIOC_PIN1) | \
|
||||
PIN_PUPDR_PULLDOWN(GPIOC_PIN2) | \
|
||||
PIN_PUPDR_PULLDOWN(GPIOC_PIN3) | \
|
||||
|
@ -662,18 +654,18 @@
|
|||
* PD14 - LED5 (output pushpull maximum).
|
||||
* PD15 - LED6 (output pushpull maximum).
|
||||
*/
|
||||
#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN3) | \
|
||||
#define VAL_GPIOD_MODER (EFI_PIN_MODE_DEFAULT(GPIOD_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN3) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_RESET) | \
|
||||
PIN_MODE_INPUT(GPIOD_OVER_CURRENT) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_OVER_CURRENT) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN11) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_LED4) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_LED3) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_LED5) | \
|
||||
|
@ -714,18 +706,18 @@
|
|||
PIN_PUPDR_PULLUP(GPIOD_PIN1) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN2) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_RESET) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_OVER_CURRENT) |\
|
||||
EFI_DR_DEFAULT(GPIOD_RESET) | \
|
||||
EFI_DR_DEFAULT(GPIOD_OVER_CURRENT) |\
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
|
||||
PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_LED4) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_LED3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_LED5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOD_LED6))
|
||||
EFI_DR_DEFAULT(GPIOD_LED4) | \
|
||||
EFI_DR_DEFAULT(GPIOD_LED3) | \
|
||||
EFI_DR_DEFAULT(GPIOD_LED5) | \
|
||||
EFI_DR_DEFAULT(GPIOD_LED6))
|
||||
#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \
|
||||
PIN_ODR_HIGH(GPIOD_PIN1) | \
|
||||
PIN_ODR_HIGH(GPIOD_PIN2) | \
|
||||
|
@ -779,22 +771,22 @@
|
|||
* PE14 - PIN14 (input floating).
|
||||
* PE15 - PIN15 (input floating).
|
||||
*/
|
||||
#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOE_PIN15))
|
||||
#define VAL_GPIOE_MODER (EFI_PIN_MODE_DEFAULT(GPIOE_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN15))
|
||||
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \
|
||||
|
@ -827,22 +819,22 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOE_PIN13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_PIN14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOE_PIN15))
|
||||
#define VAL_GPIOE_PUPDR (PIN_PUPDR_FLOATING(GPIOE_PIN0) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN1) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN4) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN6) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN7) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN8) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN9) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN13) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN14) | \
|
||||
PIN_PUPDR_FLOATING(GPIOE_PIN15))
|
||||
#define VAL_GPIOE_PUPDR (EFI_DR_DEFAULT(GPIOE_PIN0) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN1) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN2) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN3) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN4) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN5) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN6) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN7) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN8) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN9) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN10) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN11) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN12) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN13) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN14) | \
|
||||
EFI_DR_DEFAULT(GPIOE_PIN15))
|
||||
#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
|
||||
PIN_ODR_HIGH(GPIOE_PIN1) | \
|
||||
PIN_ODR_HIGH(GPIOE_PIN2) | \
|
||||
|
@ -896,22 +888,22 @@
|
|||
* PF14 - PIN14 (input floating).
|
||||
* PF15 - PIN15 (input floating).
|
||||
*/
|
||||
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_MODER (EFI_PIN_MODE_DEFAULT(GPIOF_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \
|
||||
|
@ -944,22 +936,22 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOF_PIN13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_PIN14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_PIN0) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN1) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN4) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN6) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN7) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN8) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN9) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN13) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN14) | \
|
||||
PIN_PUPDR_FLOATING(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_PUPDR (EFI_DR_DEFAULT(GPIOF_PIN0) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN1) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN2) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN3) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN4) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN5) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN6) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN7) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN8) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN9) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN10) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN11) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN12) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN13) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN14) | \
|
||||
EFI_DR_DEFAULT(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_PIN0) | \
|
||||
PIN_ODR_HIGH(GPIOF_PIN1) | \
|
||||
PIN_ODR_HIGH(GPIOF_PIN2) | \
|
||||
|
@ -1013,22 +1005,22 @@
|
|||
* PG14 - PIN14 (input floating).
|
||||
* PG15 - PIN15 (input floating).
|
||||
*/
|
||||
#define VAL_GPIOG_MODER (PIN_MODE_INPUT(GPIOG_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_MODER (EFI_PIN_MODE_DEFAULT(GPIOG_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(GPIOG_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOG_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOG_PIN2) | \
|
||||
|
@ -1061,22 +1053,22 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOG_PIN13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_PIN14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_PUPDR (PIN_PUPDR_FLOATING(GPIOG_PIN0) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN1) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN4) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN6) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN7) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN8) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN9) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN13) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN14) | \
|
||||
PIN_PUPDR_FLOATING(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_PUPDR (EFI_DR_DEFAULT(GPIOG_PIN0) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN1) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN2) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN3) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN4) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN5) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN6) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN7) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN8) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN9) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN10) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN11) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN12) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN13) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN14) | \
|
||||
EFI_DR_DEFAULT(GPIOG_PIN15))
|
||||
#define VAL_GPIOG_ODR (PIN_ODR_HIGH(GPIOG_PIN0) | \
|
||||
PIN_ODR_HIGH(GPIOG_PIN1) | \
|
||||
PIN_ODR_HIGH(GPIOG_PIN2) | \
|
||||
|
@ -1130,22 +1122,22 @@
|
|||
* PH14 - PIN14 (input floating).
|
||||
* PH15 - PIN15 (input floating).
|
||||
*/
|
||||
#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_OSC_IN) | \
|
||||
PIN_MODE_INPUT(GPIOH_OSC_OUT) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_MODER (EFI_PIN_MODE_DEFAULT(GPIOH_OSC_IN) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_OSC_OUT) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \
|
||||
|
@ -1178,22 +1170,22 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOH_PIN13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOH_PIN14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN4) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN6) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN7) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN8) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN9) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN13) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN14) | \
|
||||
PIN_PUPDR_FLOATING(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_PUPDR (EFI_DR_DEFAULT(GPIOH_OSC_IN) | \
|
||||
EFI_DR_DEFAULT(GPIOH_OSC_OUT) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN2) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN3) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN4) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN5) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN6) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN7) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN8) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN9) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN10) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN11) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN12) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN13) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN14) | \
|
||||
EFI_DR_DEFAULT(GPIOH_PIN15))
|
||||
#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_OSC_IN) | \
|
||||
PIN_ODR_HIGH(GPIOH_OSC_OUT) | \
|
||||
PIN_ODR_HIGH(GPIOH_PIN2) | \
|
||||
|
@ -1247,22 +1239,22 @@
|
|||
* PI14 - PIN14 (input floating).
|
||||
* PI15 - PIN15 (input floating).
|
||||
*/
|
||||
#define VAL_GPIOI_MODER (PIN_MODE_INPUT(GPIOI_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_MODER (EFI_PIN_MODE_DEFAULT(GPIOI_PIN0) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN1) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN2) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN3) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN4) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN5) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN6) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN7) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN8) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN9) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN10) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN11) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN12) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN13) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN14) | \
|
||||
EFI_PIN_MODE_DEFAULT(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(GPIOI_PIN0) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOI_PIN1) | \
|
||||
PIN_OTYPE_PUSHPULL(GPIOI_PIN2) | \
|
||||
|
@ -1295,22 +1287,22 @@
|
|||
DEFAULT_GPIO_SPEED(GPIOI_PIN13) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOI_PIN14) | \
|
||||
DEFAULT_GPIO_SPEED(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_PUPDR (PIN_PUPDR_FLOATING(GPIOI_PIN0) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN1) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN2) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN3) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN4) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN5) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN6) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN7) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN8) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN9) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN10) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN11) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN12) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN13) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN14) | \
|
||||
PIN_PUPDR_FLOATING(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_PUPDR (EFI_DR_DEFAULT(GPIOI_PIN0) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN1) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN2) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN3) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN4) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN5) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN6) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN7) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN8) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN9) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN10) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN11) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN12) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN13) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN14) | \
|
||||
EFI_DR_DEFAULT(GPIOI_PIN15))
|
||||
#define VAL_GPIOI_ODR (PIN_ODR_HIGH(GPIOI_PIN0) | \
|
||||
PIN_ODR_HIGH(GPIOI_PIN1) | \
|
||||
PIN_ODR_HIGH(GPIOI_PIN2) | \
|
||||
|
|
|
@ -57,7 +57,7 @@ static void setSubaruEJ20GDefaults(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->tpsErrorDetectionTooLow = -10; // -10% open
|
||||
engineConfiguration->tpsErrorDetectionTooHigh = 110; // 110% open
|
||||
|
||||
boardConfiguration->mapMinBufferLength = 4;
|
||||
engineConfiguration->mapMinBufferLength = 4;
|
||||
}
|
||||
|
||||
void setPinConfigurationOverrides(void) {
|
||||
|
@ -65,20 +65,20 @@ void setPinConfigurationOverrides(void) {
|
|||
}
|
||||
|
||||
void setSerialConfigurationOverrides(void) {
|
||||
boardConfiguration->useSerialPort = false;
|
||||
engineConfiguration->useSerialPort = false;
|
||||
engineConfiguration->binarySerialTxPin = GPIOE_1;
|
||||
engineConfiguration->binarySerialRxPin = GPIOE_0;
|
||||
engineConfiguration->consoleSerialTxPin = GPIOA_9;
|
||||
engineConfiguration->consoleSerialRxPin = GPIOA_10;
|
||||
boardConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
|
||||
engineConfiguration->uartConsoleSerialSpeed = SERIAL_SPEED;
|
||||
}
|
||||
|
||||
void setSdCardConfigurationOverrides(void) {
|
||||
boardConfiguration->is_enabled_spi_1 = false;
|
||||
engineConfiguration->is_enabled_spi_1 = false;
|
||||
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_1;
|
||||
boardConfiguration->sdCardCsPin = GPIOA_2;
|
||||
boardConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->sdCardCsPin = GPIOA_2;
|
||||
engineConfiguration->isSdCardEnabled = false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -103,19 +103,19 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_NONE;
|
||||
|
||||
/* Injectors */
|
||||
boardConfiguration->injectionPins[0] = GPIOB_11;
|
||||
boardConfiguration->injectionPins[1] = GPIOA_0;
|
||||
boardConfiguration->injectionPins[2] = GPIOA_1;
|
||||
boardConfiguration->injectionPins[3] = GPIOB_10;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_11;
|
||||
engineConfiguration->injectionPins[1] = GPIOA_0;
|
||||
engineConfiguration->injectionPins[2] = GPIOA_1;
|
||||
engineConfiguration->injectionPins[3] = GPIOB_10;
|
||||
/* 5th injector */
|
||||
//boardConfiguration->injectionPins[4] = GPIOD_15;
|
||||
//engineConfiguration->injectionPins[4] = GPIOD_15;
|
||||
|
||||
/* Ignition */
|
||||
boardConfiguration->ignitionPins[0] = GPIOB_8;
|
||||
boardConfiguration->ignitionPins[1] = GPIOB_9;
|
||||
boardConfiguration->ignitionPins[2] = GPIOF_8;
|
||||
boardConfiguration->ignitionPins[3] = GPIOF_9;
|
||||
//boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOB_8;
|
||||
engineConfiguration->ignitionPins[1] = GPIOB_9;
|
||||
engineConfiguration->ignitionPins[2] = GPIOF_8;
|
||||
engineConfiguration->ignitionPins[3] = GPIOF_9;
|
||||
//engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
||||
//?
|
||||
//engineConfiguration->vbattDividerCoeff = ((float) (2 + 10)) / 2;
|
||||
|
@ -123,9 +123,9 @@ void setBoardConfigurationOverrides(void) {
|
|||
//sengineConfiguration->iat.config.bias_resistor = 2700;
|
||||
|
||||
//?
|
||||
//boardConfiguration->useStepperIdle = true;
|
||||
//boardConfiguration->idle.stepperDirectionPin = GPIOB_12;
|
||||
//boardConfiguration->idle.stepperStepPin = GPIOB_13;
|
||||
//engineConfiguration->useStepperIdle = true;
|
||||
//engineConfiguration->idle.stepperDirectionPin = GPIOB_12;
|
||||
//engineConfiguration->idle.stepperStepPin = GPIOB_13;
|
||||
//engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;
|
||||
//engineConfiguration->stepperEnablePinMode = OM_DEFAULT;
|
||||
|
||||
|
@ -136,27 +136,27 @@ void setBoardConfigurationOverrides(void) {
|
|||
|
||||
/* IF you have BOTH camshaft position sensor and crankshaft position sensor
|
||||
* camshaft is always trigger#1 input and then crankshaft is trigger#2. */
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_8;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOC_9;
|
||||
boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_8;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOC_9;
|
||||
engineConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = GPIO_UNASSIGNED;
|
||||
|
||||
/* spi driven - TLE6240 - OUT8, also direct driven by GPIOG_2 */
|
||||
boardConfiguration->tachOutputPin = TLE6240_PIN(0);
|
||||
boardConfiguration->tachOutputPinMode = OM_DEFAULT;
|
||||
engineConfiguration->tachOutputPin = TLE6240_PIN(0);
|
||||
engineConfiguration->tachOutputPinMode = OM_DEFAULT;
|
||||
/* spi driven - TLE6240 - OUT5 */
|
||||
boardConfiguration->fuelPumpPin = TLE6240_PIN(5);
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fuelPumpPin = TLE6240_PIN(5);
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
/* self shutdownd? */
|
||||
boardConfiguration->mainRelayPin = GPIOG_4;
|
||||
boardConfiguration->mainRelayPinMode = OM_DEFAULT;
|
||||
engineConfiguration->mainRelayPin = GPIOG_4;
|
||||
engineConfiguration->mainRelayPinMode = OM_DEFAULT;
|
||||
/* spi driven - TLE6240 - OUT3, OUT4
|
||||
* TODO: second fan */
|
||||
boardConfiguration->fanPin = TLE6240_PIN(2);
|
||||
boardConfiguration->fanPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fanPin = TLE6240_PIN(2);
|
||||
engineConfiguration->fanPinMode = OM_DEFAULT;
|
||||
/* spi driven - TLE6240 - OUT8 */
|
||||
boardConfiguration->malfunctionIndicatorPin = TLE6240_PIN(7);
|
||||
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
engineConfiguration->malfunctionIndicatorPin = TLE6240_PIN(7);
|
||||
engineConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
|
||||
// starter block
|
||||
/* Starter signal connected through MC33972 - SG11 */
|
||||
|
@ -167,84 +167,84 @@ void setBoardConfigurationOverrides(void) {
|
|||
engineConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->externalKnockSenseAdc = EFI_ADC_NONE;
|
||||
engineConfiguration->displayMode = DM_NONE;
|
||||
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[0] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[0] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->vehicleSpeedSensorInputPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
boardConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
|
||||
engineConfiguration->max31855spiDevice = SPI_NONE;
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
boardConfiguration->is_enabled_spi_1 = true;
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->is_enabled_spi_3 = true;
|
||||
|
||||
boardConfiguration->spi1mosiPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->spi1mosiPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->spi1MosiMode = PO_DEFAULT;
|
||||
boardConfiguration->spi1misoPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->spi1misoPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->spi1MisoMode = PO_DEFAULT;
|
||||
boardConfiguration->spi1sckPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->spi1sckPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->spi1SckMode = PO_DEFAULT;
|
||||
|
||||
boardConfiguration->spi3mosiPin = GPIOC_12;
|
||||
engineConfiguration->spi3mosiPin = GPIOC_12;
|
||||
engineConfiguration->spi3MosiMode = PO_DEFAULT;
|
||||
boardConfiguration->spi3misoPin = GPIOC_11;
|
||||
engineConfiguration->spi3misoPin = GPIOC_11;
|
||||
engineConfiguration->spi3MisoMode = PO_DEFAULT;
|
||||
boardConfiguration->spi3sckPin = GPIOC_10;
|
||||
engineConfiguration->spi3sckPin = GPIOC_10;
|
||||
engineConfiguration->spi3SckMode = PO_DEFAULT;
|
||||
|
||||
engineConfiguration->hip9011SpiDevice = SPI_DEVICE_4;
|
||||
boardConfiguration->hip9011CsPin = GPIOF_1;
|
||||
boardConfiguration->hip9011CsPinMode = OM_OPENDRAIN;
|
||||
boardConfiguration->hip9011IntHoldPin = GPIOC_15;
|
||||
boardConfiguration->hip9011IntHoldPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->hip9011CsPin = GPIOF_1;
|
||||
engineConfiguration->hip9011CsPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->hip9011IntHoldPin = GPIOC_15;
|
||||
engineConfiguration->hip9011IntHoldPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->hipOutputChannel = EFI_ADC_7; // PA7
|
||||
boardConfiguration->isHip9011Enabled = true;
|
||||
engineConfiguration->isHip9011Enabled = true;
|
||||
|
||||
#if 0
|
||||
engineConfiguration->cj125SpiDevice = SPI_DEVICE_3;
|
||||
engineConfiguration->cj125ua = EFI_ADC_9;
|
||||
engineConfiguration->cj125ur = EFI_ADC_12;
|
||||
boardConfiguration->cj125CsPin = GPIOA_15;
|
||||
engineConfiguration->cj125CsPin = GPIOA_15;
|
||||
engineConfiguration->cj125CsPinMode = OM_OPENDRAIN;
|
||||
boardConfiguration->wboHeaterPin = GPIOC_13;
|
||||
boardConfiguration->o2heaterPin = GPIOC_13;
|
||||
engineConfiguration->wboHeaterPin = GPIOC_13;
|
||||
engineConfiguration->o2heaterPin = GPIOC_13;
|
||||
#endif
|
||||
boardConfiguration->isCJ125Enabled = false;
|
||||
engineConfiguration->isCJ125Enabled = false;
|
||||
|
||||
boardConfiguration->canDeviceMode = CD_USE_CAN1;
|
||||
boardConfiguration->canTxPin = GPIOD_0;
|
||||
boardConfiguration->canRxPin = GPIOD_1;
|
||||
engineConfiguration->canDeviceMode = CD_USE_CAN1;
|
||||
engineConfiguration->canTxPin = GPIOD_0;
|
||||
engineConfiguration->canRxPin = GPIOD_1;
|
||||
|
||||
//!!!!!!!!!!!!!!!
|
||||
#if 1
|
||||
setSubaruEJ20GDefaults(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
#endif
|
||||
/* actually i2c extension connector */
|
||||
boardConfiguration->triggerSimulatorPins[0] = GPIOF_14;
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIOF_15;
|
||||
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPinModes[0] = OM_DEFAULT;
|
||||
boardConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
boardConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPins[0] = GPIOF_14;
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIOF_15;
|
||||
engineConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPinModes[0] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
|
||||
engineConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->logicAnalyzerPins[0] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerMode[0] = OM_DEFAULT;
|
||||
boardConfiguration->logicAnalyzerMode[1] = OM_DEFAULT;
|
||||
boardConfiguration->logicAnalyzerMode[2] = OM_DEFAULT;
|
||||
boardConfiguration->logicAnalyzerMode[3] = OM_DEFAULT;
|
||||
engineConfiguration->logicAnalyzerPins[0] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerMode[0] = OM_DEFAULT;
|
||||
engineConfiguration->logicAnalyzerMode[1] = OM_DEFAULT;
|
||||
engineConfiguration->logicAnalyzerMode[2] = OM_DEFAULT;
|
||||
engineConfiguration->logicAnalyzerMode[3] = OM_DEFAULT;
|
||||
//!!!!!!!!!!!!!!!!!!!
|
||||
//engineConfiguration->silentTriggerError = true;
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ void setGy6139qmbDefaultEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE)
|
|||
engineConfiguration->analogInputDividerCoefficient = 1;
|
||||
engineConfiguration->fuelAlgorithm = LM_MAP;
|
||||
engineConfiguration->globalTriggerAngleOffset = 45;
|
||||
boardConfiguration->sensorChartMode = SC_MAP;
|
||||
engineConfiguration->sensorChartMode = SC_MAP;
|
||||
engineConfiguration->specs.displacement = 0.072; // 72cc
|
||||
engineConfiguration->specs.cylindersCount = 1;
|
||||
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||
|
@ -103,8 +103,8 @@ void setGy6139qmbDefaultEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE)
|
|||
engineConfiguration->trigger.customTotalToothCount = 8;
|
||||
engineConfiguration->trigger.customSkippedToothCount = 1;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_8;
|
||||
engineConfiguration->injectionPins[0] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_8;
|
||||
|
||||
// set injection_mode 1
|
||||
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
||||
|
|
|
@ -27,8 +27,8 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR);
|
||||
// engineConfiguration->trigger.type = TT_ONE_PLUS_TOOTHED_WHEEL_60_2;
|
||||
// engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
||||
// boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
// boardConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
// engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
// engineConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
|
||||
//Base engine setting
|
||||
engineConfiguration->specs.cylindersCount = 6;
|
||||
|
@ -39,7 +39,7 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
|
||||
|
||||
boardConfiguration->tachOutputPin = GPIOC_8;
|
||||
engineConfiguration->tachOutputPin = GPIOC_8;
|
||||
|
||||
// Trigger configuration
|
||||
// engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
|
||||
|
@ -58,12 +58,12 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->injector.flow = 750;
|
||||
|
||||
// General settings
|
||||
boardConfiguration->tunerStudioSerialSpeed = 57600;
|
||||
engineConfiguration->tunerStudioSerialSpeed = 57600;
|
||||
engineConfiguration->rpmHardLimit = 7000;
|
||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
// for best performance at high RPM, we need to turn off 'Engine Sniffer' and 'Sensor Sniffer'
|
||||
boardConfiguration->sensorChartMode = SC_OFF;
|
||||
engineConfiguration->sensorChartMode = SC_OFF;
|
||||
engineConfiguration->isEngineChartEnabled = false;
|
||||
|
||||
engineConfiguration->isCylinderCleanupEnabled = false;
|
||||
|
@ -90,52 +90,52 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_3;
|
||||
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
|
||||
setWholeTimingTable(25);
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
|
||||
// bc->isFastAdcEnabled = true;
|
||||
|
||||
boardConfiguration->injectionPinMode = OM_INVERTED;
|
||||
boardConfiguration->injectionPins[0] = GPIOB_8; // #1
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
boardConfiguration->injectionPins[2] = GPIOE_3; // #3
|
||||
boardConfiguration->injectionPins[3] = GPIOE_4; // #4
|
||||
boardConfiguration->injectionPins[4] = GPIOE_5; // #5
|
||||
boardConfiguration->injectionPins[5] = GPIOE_6; // #6
|
||||
engineConfiguration->injectionPinMode = OM_INVERTED;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_8; // #1
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
engineConfiguration->injectionPins[2] = GPIOE_3; // #3
|
||||
engineConfiguration->injectionPins[3] = GPIOE_4; // #4
|
||||
engineConfiguration->injectionPins[4] = GPIOE_5; // #5
|
||||
engineConfiguration->injectionPins[5] = GPIOE_6; // #6
|
||||
|
||||
boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOB_5; // #1
|
||||
boardConfiguration->ignitionPins[2] = GPIOB_6; // #3
|
||||
boardConfiguration->ignitionPins[4] = GPIOB_7; // #5
|
||||
engineConfiguration->ignitionPins[0] = GPIOB_5; // #1
|
||||
engineConfiguration->ignitionPins[2] = GPIOB_6; // #3
|
||||
engineConfiguration->ignitionPins[4] = GPIOB_7; // #5
|
||||
|
||||
boardConfiguration->canRxPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->canTxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->canRxPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->canTxPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->triggerErrorPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerErrorPin = GPIO_UNASSIGNED;
|
||||
|
||||
// clutch up
|
||||
engineConfiguration->clutchUpPin = GPIOD_3;
|
||||
engineConfiguration->clutchUpPinMode = PI_PULLUP;
|
||||
|
||||
// fuel pump
|
||||
boardConfiguration->fuelPumpPin = GPIOD_4;
|
||||
engineConfiguration->fuelPumpPin = GPIOD_4;
|
||||
|
||||
// idle
|
||||
boardConfiguration->idle.solenoidPin = GPIOC_14;
|
||||
boardConfiguration->idle.solenoidPinMode = OM_INVERTED;
|
||||
boardConfiguration->idle.solenoidFrequency = 300;
|
||||
boardConfiguration->manIdlePosition = 50; // set_idle_pwm 50
|
||||
engineConfiguration->idle.solenoidPin = GPIOC_14;
|
||||
engineConfiguration->idle.solenoidPinMode = OM_INVERTED;
|
||||
engineConfiguration->idle.solenoidFrequency = 300;
|
||||
engineConfiguration->manIdlePosition = 50; // set_idle_pwm 50
|
||||
|
||||
// disable sd_card
|
||||
boardConfiguration->sdCardCsPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->is_enabled_spi_3 = false;
|
||||
boardConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->sdCardCsPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->is_enabled_spi_3 = false;
|
||||
engineConfiguration->max31855spiDevice = SPI_NONE;
|
||||
|
||||
// turbocharger boost control solenoid: TODO output: GPIOE_6
|
||||
// water injection #1 TODO GPIOD_7
|
||||
|
@ -145,7 +145,7 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* emulating the 60-0 trigger takes some resources, let's keep it slow by default
|
||||
* rpm 200
|
||||
*/
|
||||
boardConfiguration->triggerSimulatorFrequency = 200;
|
||||
engineConfiguration->triggerSimulatorFrequency = 200;
|
||||
|
||||
// Configurating sensors:
|
||||
|
||||
|
@ -163,7 +163,7 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// */
|
||||
// bc->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->triggerSimulatorPins[0] = GPIOD_1;
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIOD_2;
|
||||
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPins[0] = GPIOD_1;
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIOD_2;
|
||||
engineConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
|
|
@ -98,36 +98,36 @@ void setEngineBMW_M73_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
m73engine(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = GPIOC_6;
|
||||
|
||||
CONFIGB(idle).solenoidPin = GPIO_UNASSIGNED;
|
||||
CONFIGB(mainRelayPin) = GPIO_UNASSIGNED;
|
||||
CONFIGB(fanPin) = GPIO_UNASSIGNED;
|
||||
CONFIGB(fuelPumpPin) = GPIO_UNASSIGNED;
|
||||
CONFIG(idle).solenoidPin = GPIO_UNASSIGNED;
|
||||
CONFIG(mainRelayPin) = GPIO_UNASSIGNED;
|
||||
CONFIG(fanPin) = GPIO_UNASSIGNED;
|
||||
CONFIG(fuelPumpPin) = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
boardConfiguration->ignitionPins[ID2INDEX(1)] = GPIOE_14; // Frankenso high side - pin 1G - GREEN wire
|
||||
boardConfiguration->ignitionPins[ID2INDEX(2)] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[ID2INDEX(3)] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[ID2INDEX(4)] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[ID2INDEX(7)] = GPIOC_7; // Frankenso high side - pin 1H - ORANGE wire
|
||||
engineConfiguration->ignitionPins[ID2INDEX(1)] = GPIOE_14; // Frankenso high side - pin 1G - GREEN wire
|
||||
engineConfiguration->ignitionPins[ID2INDEX(2)] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[ID2INDEX(3)] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[ID2INDEX(4)] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[ID2INDEX(7)] = GPIOC_7; // Frankenso high side - pin 1H - ORANGE wire
|
||||
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_8; // BLU
|
||||
boardConfiguration->injectionPins[1] = GPIOB_7; // BLK
|
||||
boardConfiguration->injectionPins[2] = GPIOB_9; // GRN
|
||||
boardConfiguration->injectionPins[3] = GPIOD_5; // WHT
|
||||
boardConfiguration->injectionPins[4] = GPIOD_3; // RED
|
||||
boardConfiguration->injectionPins[5] = GPIOE_2; // ORG
|
||||
engineConfiguration->injectionPins[0] = GPIOB_8; // BLU
|
||||
engineConfiguration->injectionPins[1] = GPIOB_7; // BLK
|
||||
engineConfiguration->injectionPins[2] = GPIOB_9; // GRN
|
||||
engineConfiguration->injectionPins[3] = GPIOD_5; // WHT
|
||||
engineConfiguration->injectionPins[4] = GPIOD_3; // RED
|
||||
engineConfiguration->injectionPins[5] = GPIOE_2; // ORG
|
||||
|
||||
boardConfiguration->injectionPins[6] = GPIOE_3; // BLU
|
||||
boardConfiguration->injectionPins[7] = GPIOE_4; // BLK
|
||||
boardConfiguration->injectionPins[8] = GPIOE_5; // GRN
|
||||
boardConfiguration->injectionPins[9] = GPIOE_6; // WHT
|
||||
boardConfiguration->injectionPins[10] = GPIOC_13;//RED
|
||||
boardConfiguration->injectionPins[11] = GPIOD_7;// ORG
|
||||
engineConfiguration->injectionPins[6] = GPIOE_3; // BLU
|
||||
engineConfiguration->injectionPins[7] = GPIOE_4; // BLK
|
||||
engineConfiguration->injectionPins[8] = GPIOE_5; // GRN
|
||||
engineConfiguration->injectionPins[9] = GPIOE_6; // WHT
|
||||
engineConfiguration->injectionPins[10] = GPIOC_13;//RED
|
||||
engineConfiguration->injectionPins[11] = GPIOD_7;// ORG
|
||||
}
|
||||
|
||||
// BMW_M73_M
|
||||
|
@ -155,10 +155,10 @@ GPIOA_6
|
|||
*/
|
||||
|
||||
|
||||
CONFIGB(fsioOutputPins)[7] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
CONFIG(fsioOutputPins)[7] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
/**
|
||||
* Yellow op-amp board
|
||||
|
@ -194,19 +194,19 @@ GPIOA_6
|
|||
engineConfiguration->etbIo[1].directionPin2 = GPIOB_9;
|
||||
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[0] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[7] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[7] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -24,8 +24,8 @@ void setCamaro4(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->specs.cylindersCount = 8;
|
||||
|
||||
engineConfiguration->specs.firingOrder = FO_1_8_7_2_6_5_4_3;
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
|
||||
engineConfiguration->injectionMode = IM_BATCH;
|
||||
engineConfiguration->twoWireBatchInjection = true;
|
||||
|
@ -56,31 +56,31 @@ void setCamaro4(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->afr.hwChannel = EFI_ADC_13;
|
||||
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOE_6;
|
||||
boardConfiguration->injectionPins[1] = GPIOE_5;
|
||||
boardConfiguration->injectionPins[2] = GPIOD_7;
|
||||
boardConfiguration->injectionPins[3] = GPIOC_13;
|
||||
boardConfiguration->injectionPins[4] = GPIOE_3;
|
||||
boardConfiguration->injectionPins[5] = GPIOE_4;
|
||||
boardConfiguration->injectionPins[6] = GPIOD_3;
|
||||
boardConfiguration->injectionPins[7] = GPIOE_2;
|
||||
engineConfiguration->injectionPins[0] = GPIOE_6;
|
||||
engineConfiguration->injectionPins[1] = GPIOE_5;
|
||||
engineConfiguration->injectionPins[2] = GPIOD_7;
|
||||
engineConfiguration->injectionPins[3] = GPIOC_13;
|
||||
engineConfiguration->injectionPins[4] = GPIOE_3;
|
||||
engineConfiguration->injectionPins[5] = GPIOE_4;
|
||||
engineConfiguration->injectionPins[6] = GPIOD_3;
|
||||
engineConfiguration->injectionPins[7] = GPIOE_2;
|
||||
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_14;
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_12;
|
||||
boardConfiguration->ignitionPins[4] = GPIOE_10;
|
||||
boardConfiguration->ignitionPins[5] = GPIOE_8;
|
||||
boardConfiguration->ignitionPins[6] = GPIOD_9;
|
||||
boardConfiguration->ignitionPins[7] = GPIOD_8;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_14;
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_12;
|
||||
engineConfiguration->ignitionPins[4] = GPIOE_10;
|
||||
engineConfiguration->ignitionPins[5] = GPIOE_8;
|
||||
engineConfiguration->ignitionPins[6] = GPIOD_9;
|
||||
engineConfiguration->ignitionPins[7] = GPIOD_8;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOB_8;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->mainRelayPin = GPIOD_5;
|
||||
engineConfiguration->fuelPumpPin = GPIOB_8;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->mainRelayPin = GPIOD_5;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
#include "citroenBerlingoTU3JP.h"
|
||||
#include "settings.h"
|
||||
|
||||
void setLCD(board_configuration_s *boardConfiguration) {
|
||||
boardConfiguration->HD44780_rs = GPIOE_7;
|
||||
boardConfiguration->HD44780_e = GPIOE_9;
|
||||
boardConfiguration->HD44780_db4 = GPIOE_11;
|
||||
boardConfiguration->HD44780_db5 = GPIOE_13;
|
||||
boardConfiguration->HD44780_db6 = GPIOE_15;
|
||||
boardConfiguration->HD44780_db7 = GPIOB_10;
|
||||
void setLCD(engine_configuration_s *engineConfiguration) {
|
||||
engineConfiguration->HD44780_rs = GPIOE_7;
|
||||
engineConfiguration->HD44780_e = GPIOE_9;
|
||||
engineConfiguration->HD44780_db4 = GPIOE_11;
|
||||
engineConfiguration->HD44780_db5 = GPIOE_13;
|
||||
engineConfiguration->HD44780_db6 = GPIOE_15;
|
||||
engineConfiguration->HD44780_db7 = GPIOB_10;
|
||||
}
|
||||
|
||||
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
|
||||
|
@ -117,35 +117,35 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein lo-side output #11: PB8 Main relay
|
||||
// Frankenstein lo-side output #12: PB9 Fuel pump
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_14;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_15;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_14;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_15;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->injector.flow = 137; //SIEMENS DEKA VAZ20734
|
||||
boardConfiguration->injectionPins[0] = GPIOE_6;
|
||||
boardConfiguration->injectionPins[1] = GPIOC_13;
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[0] = GPIOE_6;
|
||||
engineConfiguration->injectionPins[1] = GPIOC_13;
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->fanPin = GPIOE_0;
|
||||
boardConfiguration->fanPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fanPin = GPIOE_0;
|
||||
engineConfiguration->fanPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fanOffTemperature = 95;
|
||||
engineConfiguration->fanOnTemperature = 99;
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOE_1;
|
||||
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOE_1;
|
||||
engineConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->mainRelayPin = GPIOB_8;
|
||||
engineConfiguration->mainRelayPin = GPIOB_8;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOB_9;
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fuelPumpPin = GPIOB_9;
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
|
||||
setLCD(boardConfiguration);
|
||||
setLCD(engineConfiguration);
|
||||
|
||||
|
||||
// boardConfiguration->o2heaterPin = GPIOC_13;
|
||||
// boardConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED;
|
||||
// engineConfiguration->o2heaterPin = GPIOC_13;
|
||||
// engineConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED;
|
||||
|
||||
/**
|
||||
* Inputs
|
||||
|
|
|
@ -65,22 +65,22 @@ void runSchedulingPrecisionTestIfNeeded(void) {
|
|||
}
|
||||
#endif /* EFI_PROD_CODE */
|
||||
|
||||
void setFrankenso_01_LCD(board_configuration_s *boardConfiguration) {
|
||||
boardConfiguration->HD44780_rs = GPIOE_7;
|
||||
boardConfiguration->HD44780_e = GPIOE_9;
|
||||
boardConfiguration->HD44780_db4 = GPIOE_11;
|
||||
boardConfiguration->HD44780_db5 = GPIOE_13;
|
||||
boardConfiguration->HD44780_db6 = GPIOE_15;
|
||||
boardConfiguration->HD44780_db7 = GPIOB_10;
|
||||
void setFrankenso_01_LCD(engine_configuration_s *engineConfiguration) {
|
||||
engineConfiguration->HD44780_rs = GPIOE_7;
|
||||
engineConfiguration->HD44780_e = GPIOE_9;
|
||||
engineConfiguration->HD44780_db4 = GPIOE_11;
|
||||
engineConfiguration->HD44780_db5 = GPIOE_13;
|
||||
engineConfiguration->HD44780_db6 = GPIOE_15;
|
||||
engineConfiguration->HD44780_db7 = GPIOB_10;
|
||||
}
|
||||
|
||||
void disableLCD(board_configuration_s *boardConfiguration) {
|
||||
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
void disableLCD(engine_configuration_s *engineConfiguration) {
|
||||
engineConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
// todo: should this be part of more default configurations?
|
||||
|
@ -88,7 +88,7 @@ void setFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setDefaultFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
engineConfiguration->trigger.type = TT_ONE_PLUS_ONE;
|
||||
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
engineConfiguration->displayMode = DM_HD44780;
|
||||
commonFrankensoAnalogInputs(engineConfiguration);
|
||||
setFrankenso0_1_joystick(engineConfiguration);
|
||||
|
@ -135,32 +135,32 @@ void setFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenso low out #11: PB8 injector #3
|
||||
// Frankenso low out #12: PB7 injector #4
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOE_4;
|
||||
boardConfiguration->mainRelayPin = GPIOD_7;
|
||||
boardConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_4;
|
||||
engineConfiguration->mainRelayPin = GPIOD_7;
|
||||
engineConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
|
||||
boardConfiguration->fanPin = GPIOE_5;
|
||||
engineConfiguration->fanPin = GPIOE_5;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // #1
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
boardConfiguration->injectionPins[2] = GPIOB_8; // #3
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // #1
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
engineConfiguration->injectionPins[2] = GPIOB_8; // #3
|
||||
#ifndef EFI_INJECTOR_PIN3
|
||||
boardConfiguration->injectionPins[3] = GPIOB_7; // #4
|
||||
engineConfiguration->injectionPins[3] = GPIOB_7; // #4
|
||||
#else /* EFI_INJECTOR_PIN3 */
|
||||
boardConfiguration->injectionPins[3] = EFI_INJECTOR_PIN3; // #4
|
||||
engineConfiguration->injectionPins[3] = EFI_INJECTOR_PIN3; // #4
|
||||
#endif /* EFI_INJECTOR_PIN3 */
|
||||
|
||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
#if EFI_PWM_TESTER
|
||||
boardConfiguration->injectionPins[4] = GPIOC_8; // #5
|
||||
boardConfiguration->injectionPins[5] = GPIOD_10; // #6
|
||||
boardConfiguration->injectionPins[6] = GPIOD_9;
|
||||
boardConfiguration->injectionPins[7] = GPIOD_11;
|
||||
boardConfiguration->injectionPins[8] = GPIOD_0;
|
||||
boardConfiguration->injectionPins[9] = GPIOB_11;
|
||||
boardConfiguration->injectionPins[10] = GPIOC_7;
|
||||
boardConfiguration->injectionPins[11] = GPIOE_4;
|
||||
engineConfiguration->injectionPins[4] = GPIOC_8; // #5
|
||||
engineConfiguration->injectionPins[5] = GPIOD_10; // #6
|
||||
engineConfiguration->injectionPins[6] = GPIOD_9;
|
||||
engineConfiguration->injectionPins[7] = GPIOD_11;
|
||||
engineConfiguration->injectionPins[8] = GPIOD_0;
|
||||
engineConfiguration->injectionPins[9] = GPIOB_11;
|
||||
engineConfiguration->injectionPins[10] = GPIOC_7;
|
||||
engineConfiguration->injectionPins[11] = GPIOE_4;
|
||||
|
||||
/**
|
||||
* We want to initialize all outputs for test
|
||||
|
@ -169,20 +169,20 @@ void setFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->displayMode = DM_NONE;
|
||||
#else /* EFI_PWM_TESTER */
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[7] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[7] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
// set_ignition_pin 4 PE10
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_10;
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_10;
|
||||
#endif /* EFI_PWM_TESTER */
|
||||
|
||||
// todo: 8.2 or 10k?
|
||||
|
@ -198,7 +198,7 @@ void setFrankensoBoardTestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->directSelfStimulation = true; // this engine type is used for board validation
|
||||
|
||||
boardConfiguration->triggerSimulatorFrequency = 300;
|
||||
engineConfiguration->triggerSimulatorFrequency = 300;
|
||||
engineConfiguration->cranking.rpm = 100;
|
||||
|
||||
engineConfiguration->specs.cylindersCount = 12;
|
||||
|
@ -207,38 +207,38 @@ void setFrankensoBoardTestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// set ignition_mode 1
|
||||
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_7; // injector in default pinout
|
||||
boardConfiguration->injectionPins[1] = GPIOB_8; // injector in default pinout
|
||||
boardConfiguration->injectionPins[2] = GPIOB_9; // injector in default pinout
|
||||
boardConfiguration->injectionPins[3] = GPIOC_13;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_7; // injector in default pinout
|
||||
engineConfiguration->injectionPins[1] = GPIOB_8; // injector in default pinout
|
||||
engineConfiguration->injectionPins[2] = GPIOB_9; // injector in default pinout
|
||||
engineConfiguration->injectionPins[3] = GPIOC_13;
|
||||
|
||||
boardConfiguration->injectionPins[4] = GPIOD_3;
|
||||
boardConfiguration->injectionPins[5] = GPIOD_5;
|
||||
boardConfiguration->injectionPins[6] = GPIOD_7;
|
||||
boardConfiguration->injectionPins[7] = GPIOE_2; // injector in default pinout
|
||||
boardConfiguration->injectionPins[8] = GPIOE_3;
|
||||
boardConfiguration->injectionPins[9] = GPIOE_4;
|
||||
boardConfiguration->injectionPins[10] = GPIOE_5;
|
||||
boardConfiguration->injectionPins[11] = GPIOE_6;
|
||||
engineConfiguration->injectionPins[4] = GPIOD_3;
|
||||
engineConfiguration->injectionPins[5] = GPIOD_5;
|
||||
engineConfiguration->injectionPins[6] = GPIOD_7;
|
||||
engineConfiguration->injectionPins[7] = GPIOE_2; // injector in default pinout
|
||||
engineConfiguration->injectionPins[8] = GPIOE_3;
|
||||
engineConfiguration->injectionPins[9] = GPIOE_4;
|
||||
engineConfiguration->injectionPins[10] = GPIOE_5;
|
||||
engineConfiguration->injectionPins[11] = GPIOE_6;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->mainRelayPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->mainRelayPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_9; // coil in default pinout
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7; // coil in default pinout
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_10; // coil in default pinout
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_8; // Miata VVT tach
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_9; // coil in default pinout
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7; // coil in default pinout
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_10; // coil in default pinout
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_8; // Miata VVT tach
|
||||
|
||||
boardConfiguration->ignitionPins[4] = GPIOE_14; // coil in default pinout
|
||||
boardConfiguration->ignitionPins[5] = GPIOE_12;
|
||||
boardConfiguration->ignitionPins[6] = GPIOD_8;
|
||||
boardConfiguration->ignitionPins[7] = GPIOD_9;
|
||||
engineConfiguration->ignitionPins[4] = GPIOE_14; // coil in default pinout
|
||||
engineConfiguration->ignitionPins[5] = GPIOE_12;
|
||||
engineConfiguration->ignitionPins[6] = GPIOD_8;
|
||||
engineConfiguration->ignitionPins[7] = GPIOD_9;
|
||||
|
||||
boardConfiguration->ignitionPins[8] = GPIOE_0; // brain board, not discovery
|
||||
boardConfiguration->ignitionPins[9] = GPIOE_1; // brain board, not discovery
|
||||
engineConfiguration->ignitionPins[8] = GPIOE_0; // brain board, not discovery
|
||||
engineConfiguration->ignitionPins[9] = GPIOE_1; // brain board, not discovery
|
||||
}
|
||||
|
||||
|
||||
|
@ -260,10 +260,10 @@ void setEtbTestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
|
||||
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
/**
|
||||
* remember that some H-bridges require 5v control lines, not just 3v logic outputs we have on stm32
|
||||
*/
|
||||
|
@ -282,11 +282,11 @@ void setEtbTestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->debugMode = DBG_ELECTRONIC_THROTTLE_PID;
|
||||
|
||||
// turning off other PWMs to simplify debugging
|
||||
engineConfiguration->bc.triggerSimulatorFrequency = 0;
|
||||
engineConfiguration->triggerSimulatorFrequency = 0;
|
||||
engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;
|
||||
CONFIGB(idle).stepperStepPin = GPIO_UNASSIGNED;
|
||||
CONFIGB(idle).stepperDirectionPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->useStepperIdle = true;
|
||||
CONFIG(idle).stepperStepPin = GPIO_UNASSIGNED;
|
||||
CONFIG(idle).stepperDirectionPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->useStepperIdle = true;
|
||||
|
||||
// no analog dividers - all sensors with 3v supply, naked discovery bench setup
|
||||
engineConfiguration->analogInputDividerCoefficient = 1;
|
||||
|
@ -313,28 +313,28 @@ void setTle8888TestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->directSelfStimulation = true;
|
||||
|
||||
#if defined(STM32_HAS_GPIOG) && STM32_HAS_GPIOG
|
||||
boardConfiguration->ignitionPins[0] = GPIOG_3;
|
||||
boardConfiguration->ignitionPins[1] = GPIOG_4;
|
||||
boardConfiguration->ignitionPins[2] = GPIOG_5;
|
||||
boardConfiguration->ignitionPins[3] = GPIOG_6;
|
||||
boardConfiguration->ignitionPins[4] = GPIOG_7;
|
||||
boardConfiguration->ignitionPins[5] = GPIOG_8;
|
||||
engineConfiguration->ignitionPins[0] = GPIOG_3;
|
||||
engineConfiguration->ignitionPins[1] = GPIOG_4;
|
||||
engineConfiguration->ignitionPins[2] = GPIOG_5;
|
||||
engineConfiguration->ignitionPins[3] = GPIOG_6;
|
||||
engineConfiguration->ignitionPins[4] = GPIOG_7;
|
||||
engineConfiguration->ignitionPins[5] = GPIOG_8;
|
||||
#endif /* STM32_HAS_GPIOG */
|
||||
boardConfiguration->ignitionPins[6] = GPIOC_6;
|
||||
boardConfiguration->ignitionPins[7] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[6] = GPIOC_6;
|
||||
engineConfiguration->ignitionPins[7] = GPIOC_7;
|
||||
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
engineConfiguration->tle8888spiDevice = SPI_DEVICE_1;
|
||||
engineConfiguration->tle8888_cs = GPIOD_5;
|
||||
|
||||
// PB3 is nicely both SWO and SPI1 SCK so logic analyzer could be used on SWO header
|
||||
boardConfiguration->spi1mosiPin = GPIOB_5;
|
||||
boardConfiguration->spi1misoPin = GPIOB_4;
|
||||
boardConfiguration->spi1sckPin = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output
|
||||
boardConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->spi1mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi1misoPin = GPIOB_4;
|
||||
engineConfiguration->spi1sckPin = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output
|
||||
engineConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->debugMode = DBG_TLE8888;
|
||||
|
||||
boardConfiguration->fuelPumpPin = TLE8888_PIN_20;
|
||||
engineConfiguration->fuelPumpPin = TLE8888_PIN_20;
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
|
||||
engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_9; // PB1 // just any non-empty value for now
|
||||
|
@ -353,7 +353,7 @@ void setTle8888TestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
CONFIG(etbIo[0].directionPin2) = GPIOF_14;
|
||||
#endif /* STM32_HAS_GPIOF */
|
||||
CONFIG(etb_use_two_wires) = true;
|
||||
boardConfiguration->isHip9011Enabled = false;
|
||||
engineConfiguration->isHip9011Enabled = false;
|
||||
|
||||
// ETB #2
|
||||
// DIS PE5
|
||||
|
@ -400,7 +400,7 @@ void mreBoardTest(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
engineConfiguration->directSelfStimulation = true; // this engine type is used for board validation
|
||||
|
||||
boardConfiguration->triggerSimulatorFrequency = 60;
|
||||
engineConfiguration->triggerSimulatorFrequency = 60;
|
||||
// set cranking_rpm 500
|
||||
engineConfiguration->cranking.rpm = 100;
|
||||
// set cranking_dwell 200
|
||||
|
@ -447,64 +447,64 @@ void mreBoardTest(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->specs.firingOrder = FO_1_10_9_4_3_6_5_8_7_2;
|
||||
|
||||
// red LED #1
|
||||
boardConfiguration->ignitionPins[1 - 1] = GPIOD_4;
|
||||
boardConfiguration->ignitionPins[10 - 1] = GPIOD_3;
|
||||
boardConfiguration->ignitionPins[9 - 1] = GPIOD_6;
|
||||
boardConfiguration->ignitionPins[4 - 1] = GPIOD_7;
|
||||
boardConfiguration->ignitionPins[3 - 1] = GPIOD_1;
|
||||
boardConfiguration->ignitionPins[6 - 1] = GPIOD_2;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[6] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[7] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[1 - 1] = GPIOD_4;
|
||||
engineConfiguration->ignitionPins[10 - 1] = GPIOD_3;
|
||||
engineConfiguration->ignitionPins[9 - 1] = GPIOD_6;
|
||||
engineConfiguration->ignitionPins[4 - 1] = GPIOD_7;
|
||||
engineConfiguration->ignitionPins[3 - 1] = GPIOD_1;
|
||||
engineConfiguration->ignitionPins[6 - 1] = GPIOD_2;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[6] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[7] = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
// fuel pump is useful to test power on/off scenario
|
||||
// boardConfiguration->fuelPumpPin = TLE8888_PIN_22;
|
||||
// engineConfiguration->fuelPumpPin = TLE8888_PIN_22;
|
||||
|
||||
|
||||
// LED #1
|
||||
// GPIOE_7: "34 - GP Out 2"
|
||||
boardConfiguration->injectionPins[1 - 1] = TLE8888_PIN_22;//GPIOE_7;
|
||||
engineConfiguration->injectionPins[1 - 1] = TLE8888_PIN_22;//GPIOE_7;
|
||||
|
||||
// LED #2
|
||||
// TLE8888_PIN_23: "33 - GP Out 3"
|
||||
boardConfiguration->injectionPins[10 - 1] = TLE8888_PIN_23;
|
||||
engineConfiguration->injectionPins[10 - 1] = TLE8888_PIN_23;
|
||||
|
||||
// LED #3 - INJ#1
|
||||
boardConfiguration->injectionPins[9 - 1] = GPIOE_13;
|
||||
engineConfiguration->injectionPins[9 - 1] = GPIOE_13;
|
||||
|
||||
// LED #4 - INJ#2
|
||||
boardConfiguration->injectionPins[4 - 1] = GPIOE_14;
|
||||
engineConfiguration->injectionPins[4 - 1] = GPIOE_14;
|
||||
|
||||
// LED #5 - INJ#3
|
||||
boardConfiguration->injectionPins[3 - 1] = GPIOE_12;
|
||||
engineConfiguration->injectionPins[3 - 1] = GPIOE_12;
|
||||
|
||||
// LED #6 - INJ#4
|
||||
boardConfiguration->injectionPins[6 - 1] = GPIOE_11;
|
||||
engineConfiguration->injectionPins[6 - 1] = GPIOE_11;
|
||||
|
||||
// LED #7
|
||||
// TLE8888_PIN_24: "43 - GP Out 4"
|
||||
boardConfiguration->injectionPins[5 - 1] = TLE8888_PIN_24;
|
||||
engineConfiguration->injectionPins[5 - 1] = TLE8888_PIN_24;
|
||||
|
||||
// LED #8
|
||||
// TLE8888 half bridges (pushpull, lowside, or high-low) IN12
|
||||
// GPIOE_8: "35 - GP Out 1"
|
||||
boardConfiguration->injectionPins[8 - 1] = GPIOE_8;
|
||||
engineConfiguration->injectionPins[8 - 1] = GPIOE_8;
|
||||
|
||||
// LED #9
|
||||
// TLE8888 high current low side: IN10
|
||||
// GPIOE_9: "7 - Lowside 1"
|
||||
boardConfiguration->injectionPins[7 - 1] = GPIOE_9;
|
||||
engineConfiguration->injectionPins[7 - 1] = GPIOE_9;
|
||||
|
||||
// LED #10
|
||||
// TLE8888 high current low side: VVT2 IN9 / OUT5
|
||||
// GPIOE_10: "3 - Lowside 2"
|
||||
boardConfiguration->injectionPins[2 - 1] = GPIOE_10;
|
||||
engineConfiguration->injectionPins[2 - 1] = GPIOE_10;
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
}
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
#include "engine_configuration.h"
|
||||
|
||||
void setFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setFrankenso_01_LCD(board_configuration_s *boardConfiguration);
|
||||
void disableLCD(board_configuration_s *boardConfiguration);
|
||||
void setFrankenso_01_LCD(engine_configuration_s *engineConfiguration);
|
||||
void disableLCD(engine_configuration_s *engineConfiguration);
|
||||
void runSchedulingPrecisionTestIfNeeded(void);
|
||||
void setFrankensoBoardTestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setEtbTestConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
|
|
@ -155,12 +155,12 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->spi2MosiMode = PAL_STM32_OTYPE_OPENDRAIN; // 4
|
||||
// engineConfiguration->spi2MisoMode = PAL_STM32_PUDR_PULLUP; // 32
|
||||
|
||||
// boardConfiguration->spi2mosiPin = GPIOB_15;
|
||||
// boardConfiguration->spi2misoPin = GPIOB_14;
|
||||
// boardConfiguration->spi2sckPin = GPIOB_13;
|
||||
boardConfiguration->cj125CsPin = GPIOB_0; // rev 0.4
|
||||
boardConfiguration->isCJ125Enabled = true;
|
||||
boardConfiguration->is_enabled_spi_2 = true;
|
||||
// engineConfiguration->spi2mosiPin = GPIOB_15;
|
||||
// engineConfiguration->spi2misoPin = GPIOB_14;
|
||||
// engineConfiguration->spi2sckPin = GPIOB_13;
|
||||
engineConfiguration->cj125CsPin = GPIOB_0; // rev 0.4
|
||||
engineConfiguration->isCJ125Enabled = true;
|
||||
engineConfiguration->is_enabled_spi_2 = true;
|
||||
|
||||
|
||||
// set_rpm_hard_limit 4000
|
||||
|
@ -222,28 +222,28 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein: low side - out #11: PB8
|
||||
// Frankenstein: low side - out #12: PB9
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
boardConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
boardConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
engineConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
engineConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
engineConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOC_13; // Frankenstein: low side - out #4
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fuelPumpPin = GPIOC_13; // Frankenstein: low side - out #4
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
|
||||
engineConfiguration->mapErrorDetectionTooHigh = 120;
|
||||
|
||||
// set injection_pin_mode 0
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
|
||||
// Frankenstein: high side #1: PE8
|
||||
// Frankenstein: high side #2: PE10
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: high side #1
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_10; // // Frankenstein: high side #2
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: high side #1
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_10; // // Frankenstein: high side #2
|
||||
|
||||
// set ignition_pin_mode 0
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
|
||||
engineConfiguration->clt.config = {0, 30, 100, 32500, 7550, 700, 2700};
|
||||
|
||||
|
@ -253,7 +253,7 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setDefaultFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
engineConfiguration->trigger.type = TT_DODGE_NEON_2003_CAM;
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
setFrankenso0_1_joystick(engineConfiguration);
|
||||
|
||||
// set global_trigger_offset_angle 38
|
||||
|
@ -316,7 +316,7 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
setFuelTablesLoadBin(20, 120 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
|
||||
/**
|
||||
* PA4 Wideband O2 Sensor
|
||||
|
@ -342,29 +342,29 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenso low out #11: PB8 injector #1
|
||||
// Frankenso low out #12: PB7 injector #4
|
||||
|
||||
boardConfiguration->fanPin = GPIOD_7;
|
||||
engineConfiguration->fanPin = GPIOD_7;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_8;
|
||||
boardConfiguration->injectionPins[1] = GPIOB_9;
|
||||
boardConfiguration->injectionPins[2] = GPIOE_2;
|
||||
boardConfiguration->injectionPins[3] = GPIOB_7;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_8;
|
||||
engineConfiguration->injectionPins[1] = GPIOB_9;
|
||||
engineConfiguration->injectionPins[2] = GPIOE_2;
|
||||
engineConfiguration->injectionPins[3] = GPIOB_7;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_8;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_8;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->mainRelayPin = GPIOE_6;
|
||||
engineConfiguration->mainRelayPin = GPIOE_6;
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
boardConfiguration->idle.solenoidFrequency = 300;
|
||||
boardConfiguration->manIdlePosition = 36;
|
||||
engineConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
engineConfiguration->idle.solenoidFrequency = 300;
|
||||
engineConfiguration->manIdlePosition = 36;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOE_3;
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_3;
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
|
||||
/**
|
||||
* Frankenso analog #1 PC2 ADC12 CLT
|
||||
|
@ -412,8 +412,8 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
*/
|
||||
engineConfiguration->clt.adcChannel = EFI_ADC_12;
|
||||
|
||||
boardConfiguration->sensorChartMode = SC_MAP;
|
||||
boardConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->sensorChartMode = SC_MAP;
|
||||
engineConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003;
|
||||
|
||||
engineConfiguration->hip9011Gain = 0.3;
|
||||
|
@ -432,8 +432,8 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->cylinderBore = 87.5;
|
||||
|
||||
boardConfiguration->clutchDownPin = GPIOC_12;
|
||||
boardConfiguration->clutchDownPinMode = PI_PULLUP;
|
||||
engineConfiguration->clutchDownPin = GPIOC_12;
|
||||
engineConfiguration->clutchDownPinMode = PI_PULLUP;
|
||||
// engineConfiguration->clutchUpPin = GPIOA_14; // note SWCLK - conflict with SWD
|
||||
engineConfiguration->clutchUpPinMode = PI_PULLUP;
|
||||
|
||||
|
@ -452,7 +452,7 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// /**
|
||||
// * set_fsio_setting 1 0.55
|
||||
// */
|
||||
// boardConfiguration->fsio_setting[0] = 0.55;
|
||||
// engineConfiguration->fsio_setting[0] = 0.55;
|
||||
// setFsioExt(0, GPIOE_5, "0 fsio_setting", 400 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
#endif
|
||||
|
||||
|
@ -463,11 +463,11 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->fanOnTemperature = 115; // knock testing - value is a bit high
|
||||
// engineConfiguration->fanOffTemperature = 100;
|
||||
|
||||
// boardConfiguration->tunerStudioSerialSpeed = 9600;
|
||||
boardConfiguration->tunerStudioSerialSpeed = 19200;
|
||||
// engineConfiguration->tunerStudioSerialSpeed = 9600;
|
||||
engineConfiguration->tunerStudioSerialSpeed = 19200;
|
||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
//temp boardConfiguration->alternatorControlPin = GPIOD_5;
|
||||
//temp engineConfiguration->alternatorControlPin = GPIOD_5;
|
||||
engineConfiguration->targetVBatt = 14.0;
|
||||
engineConfiguration->alternatorControl.offset = 20;
|
||||
engineConfiguration->alternatorControl.pFactor = 20;
|
||||
|
@ -493,8 +493,8 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->wwaeTau = 0;
|
||||
engineConfiguration->wwaeBeta = 0;
|
||||
|
||||
boardConfiguration->isSdCardEnabled = false;
|
||||
boardConfiguration->manIdlePosition = 36; // set_idle_pwm 40
|
||||
engineConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->manIdlePosition = 36; // set_idle_pwm 40
|
||||
|
||||
engineConfiguration->slowAdcAlpha = 0.33333;
|
||||
|
||||
|
|
|
@ -35,27 +35,27 @@ void setDodgeRam1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->specs.firingOrder = FO_1_8_4_3_6_5_7_2;
|
||||
engineConfiguration->specs.displacement = 5.2;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOE_2;
|
||||
boardConfiguration->injectionPins[1] = GPIOB_9;
|
||||
boardConfiguration->injectionPins[2] = GPIOD_5;
|
||||
boardConfiguration->injectionPins[3] = GPIOB_8;
|
||||
engineConfiguration->injectionPins[0] = GPIOE_2;
|
||||
engineConfiguration->injectionPins[1] = GPIOB_9;
|
||||
engineConfiguration->injectionPins[2] = GPIOD_5;
|
||||
engineConfiguration->injectionPins[3] = GPIOB_8;
|
||||
|
||||
boardConfiguration->injectionPins[4] = GPIOB_7;
|
||||
boardConfiguration->injectionPins[5] = GPIOE_3;
|
||||
boardConfiguration->injectionPins[6] = GPIOE_4;
|
||||
boardConfiguration->injectionPins[7] = GPIOD_3;
|
||||
engineConfiguration->injectionPins[4] = GPIOB_7;
|
||||
engineConfiguration->injectionPins[5] = GPIOE_3;
|
||||
engineConfiguration->injectionPins[6] = GPIOE_4;
|
||||
engineConfiguration->injectionPins[7] = GPIOD_3;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->mainRelayPin = GPIOE_5;
|
||||
boardConfiguration->fuelPumpPin = GPIOE_6;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->mainRelayPin = GPIOE_5;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_6;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->engineChartSize = 450;
|
||||
|
||||
|
@ -69,11 +69,11 @@ void setDodgeRam1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setWholeTimingTable_d(10 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
||||
boardConfiguration->alternatorControlPin = GPIOD_7;
|
||||
engineConfiguration->alternatorControlPin = GPIOD_7;
|
||||
engineConfiguration->alternatorControl.pFactor = 22;
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
boardConfiguration->idle.solenoidFrequency = 300;
|
||||
engineConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
engineConfiguration->idle.solenoidFrequency = 300;
|
||||
|
||||
engineConfiguration->vbattAdcChannel = EFI_ADC_14;
|
||||
// engineConfiguration->vbattDividerCoeff = ((float) (8.93 + 41.27)) / 8.93 * 2;
|
||||
|
@ -82,5 +82,5 @@ void setDodgeRam1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setDodgeSensor(&engineConfiguration->clt, 2700);
|
||||
setDodgeSensor(&engineConfiguration->iat, 2700);
|
||||
|
||||
boardConfiguration->useStepperIdle = true;
|
||||
engineConfiguration->useStepperIdle = true;
|
||||
}
|
||||
|
|
|
@ -21,13 +21,13 @@ ENGINES_SRC_CPP = $(PROJECT_DIR)/config/engines/ford_aspire.cpp \
|
|||
$(PROJECT_DIR)/config/engines/subaru.cpp \
|
||||
$(PROJECT_DIR)/config/engines/GY6_139QMB.cpp \
|
||||
$(PROJECT_DIR)/config/engines/rover_v8.cpp \
|
||||
$(PROJECT_DIR)/config/engines/mazda_323.cpp \
|
||||
$(PROJECT_DIR)/config/engines/mazda_626.cpp \
|
||||
$(PROJECT_DIR)/config/engines/sachs.cpp \
|
||||
$(PROJECT_DIR)/config/engines/test_engine.cpp \
|
||||
$(PROJECT_DIR)/config/engines/mitsubishi.cpp \
|
||||
$(PROJECT_DIR)/config/engines/dodge_ram.cpp \
|
||||
$(PROJECT_DIR)/config/engines/vw.cpp \
|
||||
$(PROJECT_DIR)/config/engines/vw_b6.cpp \
|
||||
$(PROJECT_DIR)/config/engines/dodge_stratus.cpp \
|
||||
$(PROJECT_DIR)/config/engines/chevrolet_camaro_4.cpp \
|
||||
$(PROJECT_DIR)/config/engines/suzuki_vitara.cpp \
|
||||
|
|
|
@ -82,13 +82,13 @@ void setFordInline6(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// output 5 is PC13
|
||||
// output 6 is PC15
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOC_13;
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9;
|
||||
boardConfiguration->injectionPins[1] = GPIOE_3;
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_15;
|
||||
engineConfiguration->fuelPumpPin = GPIOC_13;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9;
|
||||
engineConfiguration->injectionPins[1] = GPIOE_3;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_15;
|
||||
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->tpsMin = convertVoltageTo10bitADC(1.250);
|
||||
engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538);
|
||||
|
@ -96,10 +96,10 @@ void setFordInline6(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->vbattAdcChannel = 0; //
|
||||
engineConfiguration->mafAdcChannel = EFI_ADC_1;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_8;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
boardConfiguration->logicAnalyzerPins[0] = GPIOC_6;
|
||||
boardConfiguration->logicAnalyzerPins[1] = GPIOE_5;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_8;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
engineConfiguration->logicAnalyzerPins[0] = GPIOC_6;
|
||||
engineConfiguration->logicAnalyzerPins[1] = GPIOE_5;
|
||||
}
|
||||
|
||||
#endif /* EFI_SUPPORT_1995_FORD_INLINE_6 */
|
||||
|
|
|
@ -129,8 +129,8 @@ void setFordAspireEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
|
||||
engineConfiguration->trigger.type = TT_FORD_ASPIRE;
|
||||
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->HD44780width = 20;
|
||||
engineConfiguration->HD44780height = 4;
|
||||
|
|
|
@ -73,7 +73,7 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4;
|
||||
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
setFrankenso0_1_joystick(engineConfiguration);
|
||||
|
||||
setDensoTODO(config);
|
||||
|
@ -87,40 +87,46 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
config->veRpmBins[0] = 800;
|
||||
config->veRpmBins[1] = 1200;
|
||||
config->veRpmBins[2] = 1600;
|
||||
config->veRpmBins[3] = 2000;
|
||||
config->veRpmBins[4] = 2400;
|
||||
config->veRpmBins[5] = 2800;
|
||||
config->veRpmBins[6] = 3200;
|
||||
config->veRpmBins[7] = 3600;
|
||||
config->veRpmBins[8] = 4100;
|
||||
config->veRpmBins[9] = 4500;
|
||||
config->veRpmBins[10] = 4900;
|
||||
config->veRpmBins[11] = 5300;
|
||||
config->veRpmBins[12] = 5700;
|
||||
config->veRpmBins[13] = 6100;
|
||||
config->veRpmBins[14] = 6500;
|
||||
config->veRpmBins[15] = 7000;
|
||||
static const float veRpmBins[] =
|
||||
{
|
||||
800,
|
||||
1200,
|
||||
1600,
|
||||
2000,
|
||||
2400,
|
||||
2800,
|
||||
3200,
|
||||
3600,
|
||||
4100,
|
||||
4500,
|
||||
4900,
|
||||
5300,
|
||||
5700,
|
||||
6100,
|
||||
6500,
|
||||
7000
|
||||
};
|
||||
|
||||
copyArray(config->veRpmBins, veRpmBins);
|
||||
|
||||
|
||||
copyFuelTable(racingFestivaVeTable, config->veTable);
|
||||
|
||||
// boardConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
// boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
// engineConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
// engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
|
||||
// in case of SOHC distributor we only have one signal
|
||||
// boardConfiguration->triggerInputPins[0] = GPIOA_5; // 2E White CKP
|
||||
// boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
// engineConfiguration->triggerInputPins[0] = GPIOA_5; // 2E White CKP
|
||||
// engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
|
||||
// in case of DOHC distributor we have two signals
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
|
||||
// Denso 195500-2180
|
||||
engineConfiguration->injector.flow = 265;
|
||||
|
||||
boardConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->map.sensor.type = MT_DENSO183;
|
||||
/**
|
||||
* pin PA4: jumper W47<>W47 - ecu plug 3I
|
||||
|
@ -131,7 +137,7 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->afr.hwChannel = EFI_ADC_2; // Frankenso analog #5 // PA2
|
||||
|
||||
// set_idle_position 10
|
||||
boardConfiguration->manIdlePosition = 10;
|
||||
engineConfiguration->manIdlePosition = 10;
|
||||
engineConfiguration->crankingIACposition = 65;
|
||||
|
||||
setWholeIatCorrTimingTable(0 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -158,8 +164,8 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setSingleCoilDwell(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
engineConfiguration->ignitionMode = IM_ONE_COIL;
|
||||
|
||||
boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN;
|
||||
boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN;
|
||||
engineConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN;
|
||||
engineConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN;
|
||||
|
||||
// individual coils
|
||||
// W6 PC9
|
||||
|
@ -167,11 +173,11 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// W12 PE8
|
||||
// W13 PE12
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_8;
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_12;
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_8;
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_12;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
|
||||
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
|
||||
|
||||
|
@ -193,18 +199,18 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenso low out #11: PB8
|
||||
// Frankenso low out #12: PB7
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOD_3;
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2;
|
||||
engineConfiguration->injectionPins[0] = GPIOD_3;
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2;
|
||||
|
||||
|
||||
// 40% idle is good default
|
||||
boardConfiguration->idle.solenoidFrequency = 300;
|
||||
boardConfiguration->idle.solenoidPin = GPIOB_9;
|
||||
engineConfiguration->idle.solenoidFrequency = 300;
|
||||
engineConfiguration->idle.solenoidPin = GPIOB_9;
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOE_5;
|
||||
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOE_5;
|
||||
engineConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->tunerStudioSerialSpeed = 19200;
|
||||
engineConfiguration->tunerStudioSerialSpeed = 19200;
|
||||
|
||||
commonFrankensoAnalogInputs(engineConfiguration);
|
||||
setCommonNTCSensor(&engineConfiguration->clt, 2700);
|
||||
|
@ -229,7 +235,7 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* to test
|
||||
* set_fsio_setting 1 5000
|
||||
*/
|
||||
boardConfiguration->fsio_setting[0] = 5000;
|
||||
engineConfiguration->fsio_setting[0] = 5000;
|
||||
// set_fsio_expression 1 "rpm > fsio_setting(1)"
|
||||
setFsioExt(0, GPIOE_3, RPM_ABOVE_USER_SETTING_1, 150 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
@ -244,30 +250,36 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* set_rpn_expression 1 "rpm 0 fsio_setting > coolant 1 fsio_setting > | vbatt 2 fsio_setting < |"
|
||||
* eval "rpm 0 fsio_setting > coolant 1 fsio_setting > | vbatt 2 fsio_setting < |"
|
||||
*/
|
||||
boardConfiguration->fsio_setting[1] = 6200; // RPM threshold
|
||||
boardConfiguration->fsio_setting[2] = 90; // CLT threshold
|
||||
boardConfiguration->fsio_setting[3] = 13.5; // voltage threshold
|
||||
engineConfiguration->fsio_setting[1] = 6200; // RPM threshold
|
||||
engineConfiguration->fsio_setting[2] = 90; // CLT threshold
|
||||
engineConfiguration->fsio_setting[3] = 13.5; // voltage threshold
|
||||
|
||||
// setFsio(1, GPIOC_13, "rpm 2 fsio_setting > coolant 3 fsio_setting > | vbatt 4 fsio_setting < |" PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setFsio(1, GPIOD_7, RPM_ABOVE_USER_SETTING_2 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
#endif /* EFI_FSIO */
|
||||
|
||||
config->ignitionRpmBins[0] = 800;
|
||||
config->ignitionRpmBins[1] = 1200;
|
||||
config->ignitionRpmBins[2] = 1600;
|
||||
config->ignitionRpmBins[3] = 2000;
|
||||
config->ignitionRpmBins[4] = 2400;
|
||||
config->ignitionRpmBins[5] = 2800;
|
||||
config->ignitionRpmBins[6] = 3200;
|
||||
config->ignitionRpmBins[7] = 3600;
|
||||
config->ignitionRpmBins[8] = 4100;
|
||||
config->ignitionRpmBins[9] = 4500;
|
||||
config->ignitionRpmBins[10] = 4900;
|
||||
config->ignitionRpmBins[11] = 5300;
|
||||
config->ignitionRpmBins[12] = 5700;
|
||||
config->ignitionRpmBins[13] = 6100;
|
||||
config->ignitionRpmBins[14] = 6500;
|
||||
config->ignitionRpmBins[15] = 7000;
|
||||
static const float ignitionRpmBins[] =
|
||||
{
|
||||
800,
|
||||
1200,
|
||||
1600,
|
||||
2000,
|
||||
2400,
|
||||
2800,
|
||||
3200,
|
||||
3600,
|
||||
4100,
|
||||
4500,
|
||||
4900,
|
||||
5300,
|
||||
5700,
|
||||
6100,
|
||||
6500,
|
||||
7000
|
||||
};
|
||||
|
||||
copyArray(config->ignitionRpmBins, ignitionRpmBins);
|
||||
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(racingFestivaIgnitionTable, config->ignitionTable);
|
||||
#endif
|
||||
|
@ -277,7 +289,7 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->engineLoadAccelEnrichmentThreshold = 5.0;
|
||||
engineConfiguration->engineLoadAccelEnrichmentMultiplier = 1;
|
||||
|
||||
boardConfiguration->isSdCardEnabled = true;
|
||||
engineConfiguration->isSdCardEnabled = true;
|
||||
|
||||
// engineConfiguration->useFSIO16ForTimingAdjustment = true;
|
||||
// we wanted to have a timinig table adjustment switch here
|
||||
|
|
|
@ -69,8 +69,8 @@ void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
|
||||
|
||||
// upside down wiring
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
|
||||
|
||||
// set global_trigger_offset_angle 180
|
||||
|
@ -90,7 +90,7 @@ void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
//setIndividualCoilsIgnition();
|
||||
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
commonFrankensoAnalogInputs(engineConfiguration);
|
||||
setFrankenso0_1_joystick(engineConfiguration);
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
|
@ -138,33 +138,33 @@ void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenso low out #11: PB8 injector #3
|
||||
// Frankenso low out #12: PB7 injector #4
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOE_4;
|
||||
boardConfiguration->mainRelayPin = GPIOD_7;
|
||||
boardConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_4;
|
||||
engineConfiguration->mainRelayPin = GPIOD_7;
|
||||
engineConfiguration->idle.solenoidPin = GPIOC_13;
|
||||
|
||||
boardConfiguration->fanPin = GPIOE_5;
|
||||
engineConfiguration->fanPin = GPIOE_5;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // #1
|
||||
boardConfiguration->injectionPins[1] = GPIOD_5; // #2
|
||||
boardConfiguration->injectionPins[2] = GPIOB_7; // #3
|
||||
boardConfiguration->injectionPins[3] = GPIOB_8; // #4
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // #1
|
||||
engineConfiguration->injectionPins[1] = GPIOD_5; // #2
|
||||
engineConfiguration->injectionPins[2] = GPIOB_7; // #3
|
||||
engineConfiguration->injectionPins[3] = GPIOB_8; // #4
|
||||
|
||||
setDefaultCustomMaps(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setAlgorithm(LM_ALPHA_N PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[7] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[7] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[8] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[9] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[10] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[11] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_10;
|
||||
boardConfiguration->ignitionPins[3] = GPIOC_9; // #4
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_10;
|
||||
engineConfiguration->ignitionPins[3] = GPIOC_9; // #4
|
||||
|
||||
// todo: 8.2 or 10k?
|
||||
engineConfiguration->vbattDividerCoeff = ((float) (10 + 33)) / 10 * 2;
|
||||
|
|
|
@ -39,7 +39,7 @@ EXTERN_CONFIG;
|
|||
|
||||
static void setHondaAccordConfigurationCommon(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
engineConfiguration->map.sensor.type = MT_DENSO183;
|
||||
boardConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->isFastAdcEnabled = true;
|
||||
|
||||
// set ignition_mode 0
|
||||
engineConfiguration->ignitionMode = IM_ONE_COIL;
|
||||
|
@ -148,29 +148,29 @@ static void setHondaAccordConfigurationCommon(DECLARE_CONFIG_PARAMETER_SIGNATURE
|
|||
// Frankenso low out #10: PD5 Injector #3
|
||||
// Frankenso low out #11: PB8 injector #1
|
||||
// Frankenso low out #12: PB7 injector #4
|
||||
boardConfiguration->fuelPumpPin = GPIOE_3;
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOE_2;
|
||||
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
boardConfiguration->fanPin = GPIOE_4; // blue wire
|
||||
engineConfiguration->fuelPumpPin = GPIOE_3;
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOE_2;
|
||||
engineConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fanPin = GPIOE_4; // blue wire
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIOD_3; // green wire
|
||||
engineConfiguration->idle.solenoidPin = GPIOD_3; // green wire
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_8;
|
||||
boardConfiguration->injectionPins[1] = GPIOB_9;
|
||||
boardConfiguration->injectionPins[2] = GPIOD_5;
|
||||
boardConfiguration->injectionPins[3] = GPIOB_7;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_8;
|
||||
engineConfiguration->injectionPins[1] = GPIOB_9;
|
||||
engineConfiguration->injectionPins[2] = GPIOD_5;
|
||||
engineConfiguration->injectionPins[3] = GPIOB_7;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_12; // white wire
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_12; // white wire
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
setFrankenso0_1_joystick(engineConfiguration);
|
||||
|
||||
boardConfiguration->idle.solenoidFrequency = 500;
|
||||
engineConfiguration->idle.solenoidFrequency = 500;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -15,35 +15,35 @@ EXTERN_CONFIG;
|
|||
|
||||
void setLadaKalina(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
disableLCD(boardConfiguration);
|
||||
disableLCD(engineConfiguration);
|
||||
|
||||
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_rs = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_e = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
|
||||
engineConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->globalTriggerAngleOffset = 114;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_12;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_12;
|
||||
|
||||
boardConfiguration->useStepperIdle = true;
|
||||
boardConfiguration->fuelPumpPin = GPIOC_13;
|
||||
boardConfiguration->mainRelayPin = GPIOD_7;
|
||||
engineConfiguration->useStepperIdle = true;
|
||||
engineConfiguration->fuelPumpPin = GPIOC_13;
|
||||
engineConfiguration->mainRelayPin = GPIOD_7;
|
||||
|
||||
boardConfiguration->idle.stepperDirectionPin = GPIOE_15;
|
||||
boardConfiguration->idle.stepperStepPin = GPIOE_13;
|
||||
engineConfiguration->idle.stepperDirectionPin = GPIOE_15;
|
||||
engineConfiguration->idle.stepperStepPin = GPIOE_13;
|
||||
engineConfiguration->stepperEnablePin = GPIOE_11;
|
||||
|
||||
|
||||
|
@ -54,7 +54,7 @@ void setLadaKalina(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* to test
|
||||
* set_fsio_setting 1 5000
|
||||
*/
|
||||
engineConfiguration->bc.fsio_setting[0] = 500;
|
||||
engineConfiguration->fsio_setting[0] = 500;
|
||||
// set_rpn_expression 1 "rpm 0 fsio_setting <"
|
||||
setFsioExt(0, GPIOE_3, RPM_BELOW_USER_SETTING_1, 0 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
#endif /* EFI_FSIO */
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
/**
|
||||
* @file mazda_323.cpp
|
||||
*
|
||||
* @date Mar 8, 2014
|
||||
* @author Andrey Belomutskiy, (c) 2012-2018
|
||||
*/
|
||||
|
||||
#include "mazda_323.h"
|
||||
|
||||
EXTERN_CONFIG;
|
||||
|
||||
void setMazda323EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
engineConfiguration->specs.cylindersCount = 4;
|
||||
engineConfiguration->specs.displacement = 1.6;
|
||||
|
||||
engineConfiguration->ignitionMode = IM_ONE_COIL;
|
||||
|
||||
/**
|
||||
* We treat the trigger as 4/0 toothed wheel
|
||||
*/
|
||||
// setToothedWheelConfiguration(engineConfiguration, 4, 0);
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
/**
|
||||
* @file mazda_323.h
|
||||
*
|
||||
* 90-94 Mazda 323 (1.6l SOHC)
|
||||
* 90-93 Ford Festiva (1.3l SOHC)
|
||||
*
|
||||
* http://rusefi.com/forum/viewtopic.php?f=3&t=498
|
||||
*
|
||||
* @date Mar 8, 2014
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "engine_configuration.h"
|
||||
|
||||
void setMazda323EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
|
@ -26,7 +26,7 @@ void setMazda626EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4;
|
||||
|
||||
// with this complex trigger we do not need this by default
|
||||
boardConfiguration->sensorChartMode = SC_OFF;
|
||||
engineConfiguration->sensorChartMode = SC_OFF;
|
||||
|
||||
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
|
||||
|
||||
|
@ -103,6 +103,6 @@ void setMazda626EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->externalKnockSenseAdc = EFI_ADC_4;
|
||||
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = GPIOA_5;
|
||||
}
|
||||
|
|
|
@ -135,14 +135,14 @@ static void commonMiataNa(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA;
|
||||
engineConfiguration->engineChartSize = 100;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
|
||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
boardConfiguration->idle.solenoidFrequency = 160;
|
||||
engineConfiguration->idle.solenoidFrequency = 160;
|
||||
|
||||
// Frankenstein: high side #1 is PE8
|
||||
// Frankenstein: high side #2 is PE10
|
||||
|
@ -151,16 +151,16 @@ static void commonMiataNa(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein: high side #5 is PC9
|
||||
// Frankenstein: high side #6 is PC7
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_12; // Frankenstein: high side #3
|
||||
boardConfiguration->ignitionPins[1] = GPIOE_14; // Frankenstein: high side #4
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_12; // Frankenstein: high side #3
|
||||
engineConfiguration->ignitionPins[1] = GPIOE_14; // Frankenstein: high side #4
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
|
||||
setDefaultCrankingFuel(engineConfiguration);
|
||||
|
||||
boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN;
|
||||
boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN;
|
||||
engineConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN;
|
||||
engineConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN;
|
||||
|
||||
setCommonNTCSensor(&engineConfiguration->clt, 2700);
|
||||
setCommonNTCSensor(&engineConfiguration->iat, 2700);
|
||||
|
@ -174,7 +174,7 @@ void common079721_2351(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->specs.cylindersCount = 4;
|
||||
engineConfiguration->specs.firingOrder = FO_1_3_4_2;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED; // fuel pump is not controlled by ECU on this engine
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED; // fuel pump is not controlled by ECU on this engine
|
||||
|
||||
// set cranking_injection_mode 0
|
||||
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
|
||||
|
@ -221,13 +221,13 @@ void setMiata1990(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein: low side - out #11: PB8
|
||||
// Frankenstein: low side - out #12: PB9
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
engineConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
|
||||
// todo: idleValvePin
|
||||
}
|
||||
|
@ -250,17 +250,17 @@ static void setMiata1994_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
copyTimingTable(miataNA8_maf_advance_table, config->ignitionTable);
|
||||
#endif
|
||||
|
||||
// boardConfiguration->triggerSimulatorPins[0] = GPIOD_2; // 2G - YEL/BLU
|
||||
// boardConfiguration->triggerSimulatorPins[1] = GPIOB_3; // 2E - WHT - four times
|
||||
// boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN;
|
||||
// boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN;
|
||||
// engineConfiguration->triggerSimulatorPins[0] = GPIOD_2; // 2G - YEL/BLU
|
||||
// engineConfiguration->triggerSimulatorPins[1] = GPIOB_3; // 2E - WHT - four times
|
||||
// engineConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN;
|
||||
// engineConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN;
|
||||
//
|
||||
// boardConfiguration->triggerInputPins[0] = GPIO_UNASSIGNED;
|
||||
// boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
// engineConfiguration->triggerInputPins[0] = GPIO_UNASSIGNED;
|
||||
// engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
//
|
||||
// boardConfiguration->is_enabled_spi_1 = false;
|
||||
// boardConfiguration->is_enabled_spi_2 = false;
|
||||
// boardConfiguration->is_enabled_spi_3 = false;
|
||||
// engineConfiguration->is_enabled_spi_1 = false;
|
||||
// engineConfiguration->is_enabled_spi_2 = false;
|
||||
// engineConfiguration->is_enabled_spi_3 = false;
|
||||
|
||||
/**
|
||||
* Outputs
|
||||
|
@ -277,25 +277,25 @@ static void setMiata1994_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenso low out #10: PE0 (do not use with discovery!)
|
||||
// Frankenso low out #11: PB8
|
||||
// Frankenso low out #12: PB7
|
||||
boardConfiguration->fanPin = GPIOE_6;
|
||||
engineConfiguration->fanPin = GPIOE_6;
|
||||
|
||||
boardConfiguration->o2heaterPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->o2heaterPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOE_4;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_4;
|
||||
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIOB_9;
|
||||
engineConfiguration->idle.solenoidPin = GPIOB_9;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso high side - pin 1H
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso high side - pin 1H
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
|
||||
commonFrankensoAnalogInputs(engineConfiguration);
|
||||
|
||||
|
@ -318,13 +318,13 @@ void setMiata1994_d(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
/**
|
||||
* This board was avoiding PE0 & PE1 mosfets altogether
|
||||
*/
|
||||
boardConfiguration->injectionPins[0] = GPIOD_7; // avoiding PE1
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2;
|
||||
boardConfiguration->injectionPins[2] = GPIOB_8;
|
||||
boardConfiguration->injectionPins[3] = GPIOB_7;
|
||||
engineConfiguration->injectionPins[0] = GPIOD_7; // avoiding PE1
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2;
|
||||
engineConfiguration->injectionPins[2] = GPIOB_8;
|
||||
engineConfiguration->injectionPins[3] = GPIOB_7;
|
||||
|
||||
// todo: add the diode? change idle valve logic?
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -342,31 +342,31 @@ void setMiata1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
#endif
|
||||
|
||||
// upside down
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOE_4;
|
||||
boardConfiguration->idle.solenoidPin = GPIOE_5;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_4;
|
||||
engineConfiguration->idle.solenoidPin = GPIOE_5;
|
||||
|
||||
engineConfiguration->mafAdcChannel = EFI_ADC_1;
|
||||
engineConfiguration->clt.adcChannel = EFI_ADC_11;
|
||||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_13;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_12; // Frankenstein: high side #3
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_14; // Frankenstein: high side #4
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_12; // Frankenstein: high side #3
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_14; // Frankenstein: high side #4
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
|
||||
// harness is sequential but we have a limited board
|
||||
engineConfiguration->crankingInjectionMode = IM_BATCH;
|
||||
engineConfiguration->injectionMode = IM_BATCH;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
engineConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ static void miataNAcommonEngineSettings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
copyTimingTable(mapBased16IgnitionTable, config->ignitionTable);
|
||||
#endif
|
||||
|
||||
boardConfiguration->idle.solenoidFrequency = 160;
|
||||
engineConfiguration->idle.solenoidFrequency = 160;
|
||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||
}
|
||||
|
||||
|
@ -122,16 +122,16 @@ void miataNAcommon(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
miataNAcommonEngineSettings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIOB_9; // this W61 <> W61 jumper, pin 3W
|
||||
engineConfiguration->idle.solenoidPin = GPIOB_9; // this W61 <> W61 jumper, pin 3W
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso high side - pin 1H
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso high side - pin 1H
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
engineConfiguration->bc.isFasterEngineSpinUpEnabled = true;
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
|
||||
memcpy(config->veRpmBins, ve16RpmBins, sizeof(ve16RpmBins));
|
||||
memcpy(config->veLoadBins, ve16LoadBins, sizeof(ve16LoadBins));
|
||||
|
@ -202,8 +202,8 @@ void setMiataNA6_MAP_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
setFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
boardConfiguration->isHip9011Enabled = false;
|
||||
boardConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->isHip9011Enabled = false;
|
||||
engineConfiguration->isSdCardEnabled = false;
|
||||
|
||||
setMiataNA6_settings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
|
@ -217,7 +217,7 @@ void setMiataNA6_MAP_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2;
|
||||
|
||||
boardConfiguration->isSdCardEnabled = true;
|
||||
engineConfiguration->isSdCardEnabled = true;
|
||||
|
||||
// /**
|
||||
// * oil pressure line
|
||||
|
@ -238,14 +238,14 @@ void setMiataNA6_MAP_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
*/
|
||||
/*
|
||||
//WARNING: these indeces are off
|
||||
boardConfiguration->fsio_setting[0] = 6400; // RPM threshold
|
||||
boardConfiguration->fsio_setting[1] = 100; // CLT threshold, fsio_setting #2
|
||||
boardConfiguration->fsio_setting[2] = 13.0; // voltage threshold, fsio_setting #3
|
||||
engineConfiguration->fsio_setting[0] = 6400; // RPM threshold
|
||||
engineConfiguration->fsio_setting[1] = 100; // CLT threshold, fsio_setting #2
|
||||
engineConfiguration->fsio_setting[2] = 13.0; // voltage threshold, fsio_setting #3
|
||||
|
||||
// set_fsio_setting 4 3000
|
||||
boardConfiguration->fsio_setting[3] = 3000; // oil pressure RPM, fsio_setting #4
|
||||
engineConfiguration->fsio_setting[3] = 3000; // oil pressure RPM, fsio_setting #4
|
||||
// set_fsio_setting 5 0.52
|
||||
boardConfiguration->fsio_setting[4] = 0.52; // oil pressure threshold, fsio_setting #5
|
||||
engineConfiguration->fsio_setting[4] = 0.52; // oil pressure threshold, fsio_setting #5
|
||||
*/
|
||||
|
||||
// * set_rpn_expression 1 "rpm 3 fsio_setting >"
|
||||
|
@ -259,17 +259,17 @@ void setMiataNA6_MAP_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setFsio(0, GPIOC_13, COMBINED_WARNING_LIGHT PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
#endif /* EFI_FSIO */
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOD_3; // #1&3 pin 3U
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2&4 pin 3V
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[0] = GPIOD_3; // #1&3 pin 3U
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2&4 pin 3V
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
// white wire from 1E - TOP of W4 to BOTTOM W62
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOD_5;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOD_5;
|
||||
|
||||
// yellow wire from 1V/W22 to bottom of W48
|
||||
boardConfiguration->clutchDownPin = GPIOA_3;
|
||||
boardConfiguration->clutchDownPinMode = PI_PULLUP;
|
||||
engineConfiguration->clutchDownPin = GPIOA_3;
|
||||
engineConfiguration->clutchDownPinMode = PI_PULLUP;
|
||||
|
||||
|
||||
// 110mm red wire from 1N/W14 to bottom of W45
|
||||
|
@ -280,7 +280,7 @@ void setMiataNA6_MAP_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
#if ! EFI_UNIT_TEST
|
||||
// W57 PE3 A/C compressor relay out
|
||||
boardConfiguration->acRelayPin = GPIOE_3;
|
||||
engineConfiguration->acRelayPin = GPIOE_3;
|
||||
// W58 PE4 A/C fan relay out
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
||||
|
@ -311,17 +311,17 @@ void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// MAF/VAF: "19 - AN volt 4"
|
||||
engineConfiguration->mafAdcChannel = EFI_ADC_12;
|
||||
|
||||
//boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
//engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
engineConfiguration->camInputs[0] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOD_7;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOD_6;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOD_7;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOD_6;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
// tps = "20 - AN volt 5"
|
||||
//engineConfiguration->tps1_1AdcChannel = EFI_ADC_13;
|
||||
|
@ -332,7 +332,7 @@ void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// TLE8888_PIN_24: "43 - GP Out 4"
|
||||
// MIL check engine
|
||||
// NA6 check engine light is just a normal low side driver
|
||||
boardConfiguration->malfunctionIndicatorPin = TLE8888_PIN_24;
|
||||
engineConfiguration->malfunctionIndicatorPin = TLE8888_PIN_24;
|
||||
|
||||
// IAC: GPIOE_9: "7 - Lowside 1"
|
||||
|
||||
|
@ -342,8 +342,8 @@ void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->vbattDividerCoeff = (66.0f / 10.0f) * engineConfiguration->analogInputDividerCoefficient;
|
||||
|
||||
|
||||
boardConfiguration->isHip9011Enabled = false;
|
||||
boardConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->isHip9011Enabled = false;
|
||||
engineConfiguration->isSdCardEnabled = false;
|
||||
|
||||
setMiataNA6_settings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
miataNAcommonEngineSettings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
|
|
@ -122,7 +122,7 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_CONFIG_PARAMETER_SIG
|
|||
memcpy(config->afrLoadBins, mazda_miata_nb2_targetAfrLoadBins, sizeof(mazda_miata_nb2_targetAfrLoadBins));
|
||||
copyTargetAfrTable(target_AFR_hunchback, config->afrTable);
|
||||
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_7;
|
||||
|
||||
// Frankenso analog #7 pin 3J, W48 top <>W48 bottom jumper, not OEM
|
||||
engineConfiguration->afr.hwChannel = EFI_ADC_3; // PA3
|
||||
|
@ -145,7 +145,7 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_CONFIG_PARAMETER_SIG
|
|||
engineConfiguration->rpmHardLimit = 7200; // we want to survive the race, but we also want some fun!
|
||||
|
||||
// set idle_position 30
|
||||
boardConfiguration->manIdlePosition = 30;
|
||||
engineConfiguration->manIdlePosition = 30;
|
||||
engineConfiguration->crankingIACposition = 65;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,10 +41,10 @@ void setMazdaMiataNA8Configuration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2;
|
||||
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOD_3; // #1 pin 3U
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2 pin 3V
|
||||
boardConfiguration->injectionPins[2] = GPIOB_8; // #3 pin 3Y
|
||||
boardConfiguration->injectionPins[3] = GPIOB_7; // #4 pin 3Z
|
||||
engineConfiguration->injectionPins[0] = GPIOD_3; // #1 pin 3U
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2 pin 3V
|
||||
engineConfiguration->injectionPins[2] = GPIOB_8; // #3 pin 3Y
|
||||
engineConfiguration->injectionPins[3] = GPIOB_7; // #4 pin 3Z
|
||||
|
||||
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
||||
}
|
||||
|
|
|
@ -45,33 +45,33 @@ void setMazdaMiataNb1EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->iat.adcChannel = EFI_ADC_13;
|
||||
engineConfiguration->afr.hwChannel = EFI_ADC_2; // PA2
|
||||
|
||||
boardConfiguration->idle.solenoidPin = GPIOE_0;
|
||||
boardConfiguration->idle.solenoidPinMode = OM_DEFAULT;
|
||||
engineConfiguration->idle.solenoidPin = GPIOE_0;
|
||||
engineConfiguration->idle.solenoidPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOC_14; // Frankenstein: low side - out #4
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fuelPumpPin = GPIOC_14; // Frankenstein: low side - out #4
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
boardConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
boardConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
engineConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
engineConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
engineConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_10; // Frankenstein: high side #1
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_9; // // Frankenstein: high side #2
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_10; // Frankenstein: high side #1
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_9; // // Frankenstein: high side #2
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOE_1;
|
||||
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOE_1;
|
||||
engineConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->fanPin = GPIOE_6;
|
||||
boardConfiguration->fanPinMode = OM_DEFAULT;
|
||||
engineConfiguration->fanPin = GPIOE_6;
|
||||
engineConfiguration->fanPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->clutchDownPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->clutchDownPin = GPIO_UNASSIGNED;
|
||||
|
||||
// set_whole_fuel_map 3
|
||||
setWholeFuelMap(3 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -84,7 +84,7 @@ void setMazdaMiataNb1EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* to test
|
||||
* set_fsio_setting 1 5000
|
||||
*/
|
||||
boardConfiguration->fsio_setting[0] = 5000;
|
||||
engineConfiguration->fsio_setting[0] = 5000;
|
||||
// (self and (rpm > 4800)) OR (rpm > 5000)
|
||||
// set_rpn_expression 1 "self rpm 4800 > & rpm 5000 > OR"
|
||||
// setFsioExt(0, GPIOE_3, "self rpm 4800 > & rpm 5000 > OR", 150 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
|
|
@ -197,14 +197,14 @@ static void setMazdaMiataEngineNB2Defaults(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// 0.1375
|
||||
// 6.375
|
||||
// 10.625
|
||||
boardConfiguration->miataNb2VVTRatioFrom = 8.50 * 0.75;
|
||||
boardConfiguration->miataNb2VVTRatioTo = 14;
|
||||
engineConfiguration->miataNb2VVTRatioFrom = 8.50 * 0.75;
|
||||
engineConfiguration->miataNb2VVTRatioTo = 14;
|
||||
engineConfiguration->nbVvtIndex = 0;
|
||||
|
||||
engineConfiguration->auxPidFrequency[0] = 300; // VVT solenoid control
|
||||
|
||||
// set idle_position 35
|
||||
boardConfiguration->manIdlePosition = 35;
|
||||
engineConfiguration->manIdlePosition = 35;
|
||||
|
||||
engineConfiguration->specs.cylindersCount = 4;
|
||||
engineConfiguration->specs.firingOrder = FO_1_3_4_2;
|
||||
|
@ -292,29 +292,29 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
setMazdaMiataEngineNB2Defaults(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
// boardConfiguration->triggerInputPins[0] = GPIOA_8; // custom Frankenso wiring in order to use SPI1 for accelerometer
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5; // board still not modified
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
// engineConfiguration->triggerInputPins[0] = GPIOA_8; // custom Frankenso wiring in order to use SPI1 for accelerometer
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5; // board still not modified
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = GPIOC_6;
|
||||
|
||||
// boardConfiguration->is_enabled_spi_1 = true;
|
||||
// engineConfiguration->is_enabled_spi_1 = true;
|
||||
|
||||
engineConfiguration->twoWireBatchInjection = true; // this is needed for #492 testing
|
||||
|
||||
boardConfiguration->alternatorControlPin = GPIOE_10;
|
||||
boardConfiguration->alternatorControlPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->alternatorControlPin = GPIOE_10;
|
||||
engineConfiguration->alternatorControlPinMode = OM_OPENDRAIN;
|
||||
|
||||
// engineConfiguration->vehicleSpeedSensorInputPin = GPIOA_8;
|
||||
|
||||
|
||||
boardConfiguration->vvtCamSensorUseRise = true;
|
||||
engineConfiguration->vvtCamSensorUseRise = true;
|
||||
engineConfiguration->vvtDisplayInverted = true;
|
||||
|
||||
engineConfiguration->auxPidPins[0] = GPIOE_3; // VVT solenoid control
|
||||
// /**
|
||||
// * set_fsio_setting 1 0.55
|
||||
// */
|
||||
boardConfiguration->fsio_setting[0] = 0.0;
|
||||
engineConfiguration->fsio_setting[0] = 0.0;
|
||||
// setFsioExt(0, GPIOE_3, "0 fsio_setting", 400 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
||||
|
@ -341,10 +341,10 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* Miata coil on #4 PE14 - white ECU wire "1&4"
|
||||
*/
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
// set tps_min 90
|
||||
engineConfiguration->tpsMin = 100; // convert 12to10 bit (ADC/4)
|
||||
|
@ -354,11 +354,11 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIOD_5;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIOD_5;
|
||||
|
||||
|
||||
// boardConfiguration->malfunctionIndicatorPin = GPIOD_9;
|
||||
// boardConfiguration->malfunctionIndicatorPinMode = OM_INVERTED;
|
||||
// engineConfiguration->malfunctionIndicatorPin = GPIOD_9;
|
||||
// engineConfiguration->malfunctionIndicatorPinMode = OM_INVERTED;
|
||||
|
||||
// todo: blue jumper wire - what is it?!
|
||||
// Frankenso analog #6 pin 3R, W56 (5th lower row pin from the end) top <> W45 bottom jumper, not OEM
|
||||
|
@ -383,9 +383,9 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* set_fsio_setting 3 65
|
||||
* set_fsio_setting 4 15
|
||||
*/
|
||||
boardConfiguration->fsio_setting[1] = 6500; // #2 RPM threshold
|
||||
boardConfiguration->fsio_setting[2] = 105; // #3 CLT threshold
|
||||
boardConfiguration->fsio_setting[3] = 12.0; // #4 voltage threshold
|
||||
engineConfiguration->fsio_setting[1] = 6500; // #2 RPM threshold
|
||||
engineConfiguration->fsio_setting[2] = 105; // #3 CLT threshold
|
||||
engineConfiguration->fsio_setting[3] = 12.0; // #4 voltage threshold
|
||||
|
||||
// setFsio(1, GPIOE_6, COMBINED_WARNING_LIGHT PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
@ -409,22 +409,26 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->throttlePedalUpVoltage = 0.65f;
|
||||
|
||||
|
||||
// VNH2SP30 three-wire ETB control
|
||||
// TLE7209 two-wire ETB control
|
||||
// PWM
|
||||
engineConfiguration->etbIo[0].controlPin1 = GPIOE_6;
|
||||
engineConfiguration->etbIo[0].controlPinMode = OM_INVERTED;
|
||||
CONFIG(etb_use_two_wires) = true;
|
||||
|
||||
engineConfiguration->etbIo[0].controlPin1 = GPIO_UNASSIGNED;
|
||||
|
||||
//
|
||||
engineConfiguration->etbIo[0].directionPin1 = GPIOE_12;
|
||||
engineConfiguration->etbIo[0].directionPin1 = GPIOE_12; // orange
|
||||
//
|
||||
engineConfiguration->etbIo[0].directionPin2 = GPIOC_7;
|
||||
engineConfiguration->etbIo[0].directionPin2 = GPIOC_7; // white/blue
|
||||
|
||||
// set_analog_input_pin tps PC3
|
||||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_13; // PC3
|
||||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_13; // PC3 blue
|
||||
|
||||
engineConfiguration->idleMode = IM_AUTO;
|
||||
CONFIGB(useETBforIdleControl) = true;
|
||||
CONFIG(useETBforIdleControl) = true;
|
||||
// set_analog_input_pin pps PA2
|
||||
/* a step back - Frankenso does not use ETB
|
||||
engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_2;
|
||||
*/
|
||||
|
||||
engineConfiguration->idleRpmPid.offset = 0;
|
||||
engineConfiguration->idleRpmPid.pFactor = 0.2;
|
||||
|
@ -432,7 +436,7 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->idleRpmPid.dFactor = 5;
|
||||
engineConfiguration->idleRpmPid.periodMs = 10;
|
||||
|
||||
engineConfiguration->bc.isFasterEngineSpinUpEnabled = true;
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
|
||||
//set etb_p 12
|
||||
engineConfiguration->etb.pFactor = 12; // a bit lower p-factor seems to work better on TLE9201? MRE?
|
||||
|
@ -473,7 +477,7 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
void setMazdaMiata2003EngineConfigurationBoardTest(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setMazdaMiata2003EngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_7;
|
||||
|
||||
// Frankenso analog #7 pin 3J, W48 top <>W48 bottom jumper, not OEM. Make sure 500K pull-down on Frankenso
|
||||
engineConfiguration->afr.hwChannel = EFI_ADC_3; // PA3
|
||||
|
@ -481,11 +485,7 @@ void setMazdaMiata2003EngineConfigurationBoardTest(DECLARE_CONFIG_PARAMETER_SIGN
|
|||
engineConfiguration->mafAdcChannel = EFI_ADC_4; // PA4 - W47 top <>W47
|
||||
}
|
||||
|
||||
/**
|
||||
* Pretty much OEM 2003 Miata with ETB
|
||||
* set engine_type 13
|
||||
*/
|
||||
void setMiataNB2_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
static void setMiataNB2_MRE_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
setMazdaMiataEngineNB2Defaults(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
|
@ -499,15 +499,15 @@ void setMiataNB2_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// tps1_1AdcChannel input is inherited from boards/microrusefi/board_configuration.cpp
|
||||
// afr.hwChannel input is inherited from boards/microrusefi/board_configuration.cpp
|
||||
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->camInputs[0] = GPIOA_5;
|
||||
engineConfiguration->useOnlyRisingEdgeForTrigger = false;
|
||||
engineConfiguration->useTLE8888_hall_mode = true;
|
||||
|
||||
// GPIOD_6: "13 - GP Out 6" - selected to +12v
|
||||
boardConfiguration->alternatorControlPin = GPIOD_6;
|
||||
engineConfiguration->alternatorControlPin = GPIOD_6;
|
||||
// GPIOD_7: "14 - GP Out 5" - selected to +12v
|
||||
engineConfiguration->dizzySparkOutputPin = GPIOD_7; // tachometer
|
||||
|
||||
|
@ -525,25 +525,9 @@ void setMiataNB2_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->auxPidPins[0] = GPIOE_9; // VVT solenoid control
|
||||
|
||||
// TLE8888_PIN_23: "33 - GP Out 3"
|
||||
boardConfiguration->malfunctionIndicatorPin = TLE8888_PIN_23;
|
||||
engineConfiguration->malfunctionIndicatorPin = TLE8888_PIN_23;
|
||||
|
||||
//set idle_offset 0
|
||||
engineConfiguration->idleRpmPid.offset = 0;
|
||||
engineConfiguration->idleRpmPid.pFactor = 0.2;
|
||||
engineConfiguration->idleRpmPid.iFactor = 0.0001;
|
||||
engineConfiguration->idleRpmPid.dFactor = 5;
|
||||
engineConfiguration->idleRpmPid.periodMs = 10;
|
||||
|
||||
engineConfiguration->bc.isFasterEngineSpinUpEnabled = true;
|
||||
|
||||
engineConfiguration->etb.pFactor = 12; // a bit lower p-factor seems to work better on TLE9201? MRE?
|
||||
engineConfiguration->etb.iFactor = 0;
|
||||
engineConfiguration->etb.dFactor = 0;
|
||||
engineConfiguration->etb.offset = 0;
|
||||
|
||||
// enable ETB
|
||||
// set_rpn_expression 8 "0"
|
||||
setFsio(7, GPIOC_8, "0" PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
|
||||
// set_analog_input_pin pps PA7
|
||||
// EFI_ADC_7: "31 - AN volt 3" - PA7
|
||||
|
@ -556,10 +540,6 @@ void setMiataNB2_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->tpsMax = 870;
|
||||
|
||||
engineConfiguration->idleMode = IM_AUTO;
|
||||
CONFIGB(useETBforIdleControl) = true;
|
||||
engineConfiguration->throttlePedalUpVoltage = 1;
|
||||
// WAT? that's an interesting value, how come it's above 5v?
|
||||
engineConfiguration->throttlePedalWOTVoltage = 5.47;
|
||||
|
||||
// set vbatt_divider 11
|
||||
// 0.3#4 has wrong R139 as well?
|
||||
|
@ -567,3 +547,43 @@ void setMiataNB2_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->vbattDividerCoeff = (66.0f / 10.0f) * engineConfiguration->analogInputDividerCoefficient;
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Pretty much OEM 2003 Miata with ETB
|
||||
* set engine_type 13
|
||||
*/
|
||||
void setMiataNB2_MRE_ETB(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setMiataNB2_MRE_common(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
#if EFI_FSIO
|
||||
// enable ETB
|
||||
// set_rpn_expression 8 "0"
|
||||
setFsio(7, GPIOC_8, "0" PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
#endif /* EFI_FSIO */
|
||||
|
||||
//set idle_offset 0
|
||||
engineConfiguration->idleRpmPid.offset = 0;
|
||||
engineConfiguration->idleRpmPid.pFactor = 0.2;
|
||||
engineConfiguration->idleRpmPid.iFactor = 0.0001;
|
||||
engineConfiguration->idleRpmPid.dFactor = 5;
|
||||
engineConfiguration->idleRpmPid.periodMs = 10;
|
||||
|
||||
CONFIG(useETBforIdleControl) = true;
|
||||
engineConfiguration->throttlePedalUpVoltage = 1;
|
||||
// WAT? that's an interesting value, how come it's above 5v?
|
||||
engineConfiguration->throttlePedalWOTVoltage = 5.47;
|
||||
|
||||
engineConfiguration->etb.pFactor = 12; // a bit lower p-factor seems to work better on TLE9201? MRE?
|
||||
engineConfiguration->etb.iFactor = 0;
|
||||
engineConfiguration->etb.dFactor = 0;
|
||||
engineConfiguration->etb.offset = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* set engine_type 11
|
||||
*/
|
||||
void setMiataNB2_MRE_MTB(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setMiataNB2_MRE_common(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
}
|
||||
|
|
|
@ -18,4 +18,5 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
|||
void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setMazdaMiata2003EngineConfigurationBoardTest(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
void setMiataNB2_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setMiataNB2_MRE_ETB(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setMiataNB2_MRE_MTB(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
|
|
@ -35,8 +35,8 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
|
||||
engineConfiguration->crankingInjectionMode = IM_SEQUENTIAL;
|
||||
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
||||
boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
boardConfiguration->injectionPinMode = OM_OPENDRAIN_INVERTED;
|
||||
engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->injectionPinMode = OM_OPENDRAIN_INVERTED;
|
||||
engineConfiguration->isCylinderCleanupEnabled = true;
|
||||
engineConfiguration->rpmHardLimit = 8000;
|
||||
engineConfiguration->cranking.baseFuel = 4;
|
||||
|
@ -44,7 +44,7 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
//Analog Inputs
|
||||
|
||||
boardConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->map.sensor.type = MT_GM_3_BAR;
|
||||
setCommonNTCSensor(&engineConfiguration->clt, 2700);
|
||||
setCommonNTCSensor(&engineConfiguration->iat, 2700);
|
||||
|
@ -65,56 +65,56 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->canNbcType = CAN_BUS_NBC_VAG;
|
||||
engineConfiguration->canReadEnabled = true;
|
||||
engineConfiguration->canWriteEnabled = true;
|
||||
boardConfiguration->canDeviceMode = CD_USE_CAN1;
|
||||
boardConfiguration->canTxPin = GPIOB_6;
|
||||
boardConfiguration->canRxPin = GPIOB_12;
|
||||
engineConfiguration->canDeviceMode = CD_USE_CAN1;
|
||||
engineConfiguration->canTxPin = GPIOB_6;
|
||||
engineConfiguration->canRxPin = GPIOB_12;
|
||||
|
||||
// Injectors
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOE_4; // #1
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
boardConfiguration->injectionPins[2] = GPIOE_3; // #3
|
||||
boardConfiguration->injectionPins[3] = GPIOE_1; // #4
|
||||
boardConfiguration->injectionPins[4] = GPIOE_6; // #5
|
||||
boardConfiguration->injectionPins[5] = GPIOE_5; // #6
|
||||
boardConfiguration->injectionPins[6] = GPIOB_9; // #7
|
||||
boardConfiguration->injectionPins[7] = GPIOE_0; // #8
|
||||
engineConfiguration->injectionPins[0] = GPIOE_4; // #1
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
engineConfiguration->injectionPins[2] = GPIOE_3; // #3
|
||||
engineConfiguration->injectionPins[3] = GPIOE_1; // #4
|
||||
engineConfiguration->injectionPins[4] = GPIOE_6; // #5
|
||||
engineConfiguration->injectionPins[5] = GPIOE_5; // #6
|
||||
engineConfiguration->injectionPins[6] = GPIOB_9; // #7
|
||||
engineConfiguration->injectionPins[7] = GPIOE_0; // #8
|
||||
|
||||
//Ignition Outputs
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOD_1; // #1
|
||||
boardConfiguration->ignitionPins[1] = GPIOD_6; // #2
|
||||
boardConfiguration->ignitionPins[2] = GPIOD_3; // #3
|
||||
boardConfiguration->ignitionPins[3] = GPIOD_4; // #4
|
||||
boardConfiguration->ignitionPins[4] = GPIOD_0; // #5
|
||||
boardConfiguration->ignitionPins[5] = GPIOD_2; // #6
|
||||
boardConfiguration->ignitionPins[6] = GPIOA_15; // #7
|
||||
boardConfiguration->ignitionPins[7] = GPIOC_12; // #8
|
||||
engineConfiguration->ignitionPins[0] = GPIOD_1; // #1
|
||||
engineConfiguration->ignitionPins[1] = GPIOD_6; // #2
|
||||
engineConfiguration->ignitionPins[2] = GPIOD_3; // #3
|
||||
engineConfiguration->ignitionPins[3] = GPIOD_4; // #4
|
||||
engineConfiguration->ignitionPins[4] = GPIOD_0; // #5
|
||||
engineConfiguration->ignitionPins[5] = GPIOD_2; // #6
|
||||
engineConfiguration->ignitionPins[6] = GPIOA_15; // #7
|
||||
engineConfiguration->ignitionPins[7] = GPIOC_12; // #8
|
||||
|
||||
//SPI Settings
|
||||
boardConfiguration->is_enabled_spi_1 = true;
|
||||
boardConfiguration->is_enabled_spi_2 = true;
|
||||
boardConfiguration->is_enabled_spi_3 = false;
|
||||
engineConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->is_enabled_spi_2 = true;
|
||||
engineConfiguration->is_enabled_spi_3 = false;
|
||||
engineConfiguration->cj125SpiDevice = SPI_DEVICE_2;
|
||||
boardConfiguration->cj125CsPin = GPIOB_11;
|
||||
engineConfiguration->cj125CsPin = GPIOB_11;
|
||||
|
||||
//Digital Inputs/Outputs
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
engineConfiguration->tle8888spiDevice = SPI_DEVICE_1;
|
||||
boardConfiguration->fuelPumpPin = TLE8888_PIN_22;
|
||||
boardConfiguration->tachOutputPin = TLE8888_PIN_16;
|
||||
boardConfiguration->alternatorControlPin = TLE8888_PIN_17;
|
||||
engineConfiguration->fuelPumpPin = TLE8888_PIN_22;
|
||||
engineConfiguration->tachOutputPin = TLE8888_PIN_16;
|
||||
engineConfiguration->alternatorControlPin = TLE8888_PIN_17;
|
||||
engineConfiguration->auxPidPins[0] = TLE8888_PIN_6; // VVT solenoid control
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
|
||||
boardConfiguration->mainRelayPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->clutchDownPin = GPIOD_11;
|
||||
engineConfiguration->mainRelayPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->clutchDownPin = GPIOD_11;
|
||||
engineConfiguration->brakePedalPin = GPIOE_10;
|
||||
engineConfiguration->camInputs[0] = GPIOA_2;
|
||||
#if defined(STM32_HAS_GPIOG) && STM32_HAS_GPIOG
|
||||
boardConfiguration->triggerInputPins[0] = GPIOG_7;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOG_7;
|
||||
#endif /* STM32_HAS_GPIOF */
|
||||
#if defined(STM32_HAS_GPIOF) && STM32_HAS_GPIOF
|
||||
engineConfiguration->vehicleSpeedSensorInputPin = GPIOF_14;
|
||||
|
@ -122,7 +122,7 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
|
||||
//Alternator Settings
|
||||
boardConfiguration->alternatorControlPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->alternatorControlPinMode = OM_OPENDRAIN;
|
||||
engineConfiguration->targetVBatt = 13.8;
|
||||
engineConfiguration->alternatorControl.offset = 40;
|
||||
engineConfiguration->alternatorControl.pFactor = 14;
|
||||
|
@ -145,7 +145,7 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
CONFIG(etbIo[0].directionPin1) = GPIOF_15;
|
||||
CONFIG(etbIo[0].directionPin2) = GPIOF_14;
|
||||
#endif /* STM32_HAS_GPIOF */
|
||||
boardConfiguration->isHip9011Enabled = false;
|
||||
engineConfiguration->isHip9011Enabled = false;
|
||||
|
||||
#if EFI_FSIO
|
||||
setFsio (13, GPIOE_5, "0" PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -165,7 +165,7 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->activateAuxPid1 = true;
|
||||
engineConfiguration->auxPidFrequency[0] = 300;
|
||||
boardConfiguration->fsio_setting[0] = 0.0;
|
||||
engineConfiguration->fsio_setting[0] = 0.0;
|
||||
engineConfiguration->auxPid[0].pFactor = 2;
|
||||
engineConfiguration->auxPid[0].iFactor = 0.005;
|
||||
engineConfiguration->auxPid[0].dFactor = 0;
|
||||
|
@ -173,7 +173,7 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->auxPid[0].minValue = 24;
|
||||
engineConfiguration->auxPid[0].maxValue = 44;
|
||||
engineConfiguration->auxPidFrequency[0] = 300;
|
||||
boardConfiguration->fsio_setting[0] = 0.0;
|
||||
engineConfiguration->fsio_setting[0] = 0.0;
|
||||
|
||||
|
||||
//AC Settings
|
||||
|
@ -181,7 +181,7 @@ void vag_18_Turbo(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
//Configuration 2 : Over CAN with variable Kompressor(CAN: Input=B_sacc,B_skoc Output: B_kov)
|
||||
//Configuration 3 : 2 Wires
|
||||
|
||||
boardConfiguration->acRelayPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->acRelayPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->acCutoffLowRpm = 400;
|
||||
engineConfiguration->acCutoffHighRpm = 4500;
|
||||
engineConfiguration->acIdleRpmBump = 200;
|
||||
|
|
|
@ -65,19 +65,19 @@ void setMitsubishiConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein: low side - out #11: PB8
|
||||
// Frankenstein: low side - out #12: PB9
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
boardConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
boardConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12
|
||||
engineConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11
|
||||
engineConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
engineConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
|
||||
|
||||
// Frankenstein: high side #1: PE8
|
||||
// Frankenstein: high side #2: PE10
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: high side #1
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_10; // // Frankenstein: high side #2
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: high side #1
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_10; // // Frankenstein: high side #2
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->HD44780width = 20;
|
||||
engineConfiguration->HD44780height = 4;
|
||||
|
|
|
@ -20,9 +20,9 @@ void setNissanPrimeraEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->trigger.type = TT_NISSAN_SR20VE;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOD_7;
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIOD_6;
|
||||
engineConfiguration->ignitionPins[0] = GPIOD_7;
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIOD_6;
|
||||
|
||||
|
||||
engineConfiguration->auxValves[0] = GPIOE_14;
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
#include "engine_math.h"
|
||||
#include "allsensors.h"
|
||||
|
||||
void setFrankenstein_01_LCD(board_configuration_s *boardConfiguration) {
|
||||
boardConfiguration->HD44780_rs = GPIOE_9;
|
||||
boardConfiguration->HD44780_e = GPIOE_11;
|
||||
boardConfiguration->HD44780_db4 = GPIOE_13;
|
||||
boardConfiguration->HD44780_db5 = GPIOE_15;
|
||||
boardConfiguration->HD44780_db6 = GPIOB_11;
|
||||
boardConfiguration->HD44780_db7 = GPIOB_13;
|
||||
void setFrankenstein_01_LCD(engine_configuration_s *engineConfiguration) {
|
||||
engineConfiguration->HD44780_rs = GPIOE_9;
|
||||
engineConfiguration->HD44780_e = GPIOE_11;
|
||||
engineConfiguration->HD44780_db4 = GPIOE_13;
|
||||
engineConfiguration->HD44780_db5 = GPIOE_15;
|
||||
engineConfiguration->HD44780_db6 = GPIOB_11;
|
||||
engineConfiguration->HD44780_db7 = GPIOB_13;
|
||||
}
|
||||
|
||||
EXTERN_CONFIG;
|
||||
|
@ -34,10 +34,10 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// set trigger_type 9
|
||||
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1;
|
||||
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->isHip9011Enabled = false;
|
||||
CONFIGB(hip9011IntHoldPin) = GPIO_UNASSIGNED;
|
||||
setFrankenstein_01_LCD(boardConfiguration);
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->isHip9011Enabled = false;
|
||||
CONFIG(hip9011IntHoldPin) = GPIO_UNASSIGNED;
|
||||
setFrankenstein_01_LCD(engineConfiguration);
|
||||
|
||||
engineConfiguration->specs.displacement = 3.528;
|
||||
engineConfiguration->specs.cylindersCount = 8;
|
||||
|
@ -58,13 +58,13 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
// set ignition_mode 2
|
||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||
boardConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
||||
// set_ignition_channels
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: low side - out #x (?)
|
||||
boardConfiguration->ignitionPins[7] = GPIOE_10; // Frankenstein: low side - out #x (?)
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_12; // Frankenstein: low side - out #x (?)
|
||||
boardConfiguration->ignitionPins[2] = GPIOE_14; // Frankenstein: low side - out #x (?)
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: low side - out #x (?)
|
||||
engineConfiguration->ignitionPins[7] = GPIOE_10; // Frankenstein: low side - out #x (?)
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_12; // Frankenstein: low side - out #x (?)
|
||||
engineConfiguration->ignitionPins[2] = GPIOE_14; // Frankenstein: low side - out #x (?)
|
||||
|
||||
// Frankenstein: low side - out #1: PC14
|
||||
// Frankenstein: low side - out #2: PC15
|
||||
|
@ -79,27 +79,27 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein: low side - out #11: PB8
|
||||
// Frankenstein: low side - out #12: PB9
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOC_14; // Frankenstein: low side - out #1
|
||||
boardConfiguration->injectionPins[1] = GPIOC_15; // Frankenstein: low side - out #2
|
||||
boardConfiguration->injectionPins[2] = GPIOE_6; // Frankenstein: low side - out #3
|
||||
boardConfiguration->injectionPins[3] = GPIOC_13; // Frankenstein: low side - out #4
|
||||
boardConfiguration->injectionPins[4] = GPIOE_4; // Frankenstein: low side - out #5
|
||||
boardConfiguration->injectionPins[5] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
boardConfiguration->injectionPins[6] = GPIOE_2; // Frankenstein: low side - out #7
|
||||
boardConfiguration->injectionPins[7] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
engineConfiguration->injectionPins[0] = GPIOC_14; // Frankenstein: low side - out #1
|
||||
engineConfiguration->injectionPins[1] = GPIOC_15; // Frankenstein: low side - out #2
|
||||
engineConfiguration->injectionPins[2] = GPIOE_6; // Frankenstein: low side - out #3
|
||||
engineConfiguration->injectionPins[3] = GPIOC_13; // Frankenstein: low side - out #4
|
||||
engineConfiguration->injectionPins[4] = GPIOE_4; // Frankenstein: low side - out #5
|
||||
engineConfiguration->injectionPins[5] = GPIOE_5; // Frankenstein: low side - out #6
|
||||
engineConfiguration->injectionPins[6] = GPIOE_2; // Frankenstein: low side - out #7
|
||||
engineConfiguration->injectionPins[7] = GPIOE_3; // Frankenstein: low side - out #8
|
||||
|
||||
// not valid ICU pin engineConfiguration->vehicleSpeedSensorInputPin = GPIOC_2;
|
||||
|
||||
//GPIOE_0 AND GPIOE_1 are bad pins since they conflict with accelerometer
|
||||
//no malfunction indicator pin needed, since we use CAN_BUS_MAZDA_RX8
|
||||
//boardConfiguration->fuelPumpPin = GPIOE_0; // Frankenstein: low side - out #9
|
||||
//boardConfiguration->malfunctionIndicatorPin = GPIOE_1; // Frankenstein: low side - out #10
|
||||
boardConfiguration->fuelPumpPin = GPIOB_8; // Frankenstein: low side - out #11
|
||||
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
boardConfiguration->mainRelayPin = GPIOB_9; // Frankenstein: low side - out #12
|
||||
//engineConfiguration->fuelPumpPin = GPIOE_0; // Frankenstein: low side - out #9
|
||||
//engineConfiguration->malfunctionIndicatorPin = GPIOE_1; // Frankenstein: low side - out #10
|
||||
engineConfiguration->fuelPumpPin = GPIOB_8; // Frankenstein: low side - out #11
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
engineConfiguration->mainRelayPin = GPIOB_9; // Frankenstein: low side - out #12
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
|
||||
setCommonNTCSensor(&engineConfiguration->clt, 2700);
|
||||
setCommonNTCSensor(&engineConfiguration->iat, 2700);
|
||||
|
@ -117,19 +117,19 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538);
|
||||
|
||||
// Stepper logic:
|
||||
boardConfiguration->idle.stepperDirectionPin = GPIOB_10;
|
||||
boardConfiguration->idle.stepperStepPin = GPIOB_15;
|
||||
engineConfiguration->idle.stepperDirectionPin = GPIOB_10;
|
||||
engineConfiguration->idle.stepperStepPin = GPIOB_15;
|
||||
engineConfiguration->stepperEnablePin = GPIOB_14;
|
||||
engineConfiguration->idleStepperReactionTime = 10;
|
||||
engineConfiguration->idleStepperTotalSteps = 150;
|
||||
|
||||
boardConfiguration->useStepperIdle = false;
|
||||
engineConfiguration->useStepperIdle = false;
|
||||
|
||||
// set injection_pin_mode 0
|
||||
boardConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->injectionPinMode = OM_DEFAULT;
|
||||
|
||||
boardConfiguration->canTxPin = GPIOB_6;
|
||||
boardConfiguration->canRxPin = GPIOB_12;
|
||||
engineConfiguration->canTxPin = GPIOB_6;
|
||||
engineConfiguration->canRxPin = GPIOB_12;
|
||||
engineConfiguration->canWriteEnabled = true;
|
||||
engineConfiguration->canReadEnabled = false;
|
||||
engineConfiguration->canNbcType = CAN_BUS_MAZDA_RX8;
|
||||
|
@ -138,10 +138,10 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
// todo: make this official Frankenstein joystick?
|
||||
boardConfiguration->joystickCenterPin = GPIOD_8;
|
||||
boardConfiguration->joystickAPin = GPIOD_10;
|
||||
boardConfiguration->joystickBPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->joystickCPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->joystickDPin = GPIOD_11;
|
||||
engineConfiguration->joystickCenterPin = GPIOD_8;
|
||||
engineConfiguration->joystickAPin = GPIOD_10;
|
||||
engineConfiguration->joystickBPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->joystickCPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->joystickDPin = GPIOD_11;
|
||||
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "engine_configuration.h"
|
||||
|
||||
void setFrankenstein_01_LCD(board_configuration_s *boardConfiguration);
|
||||
void setFrankenstein_01_LCD(engine_configuration_s *engineConfiguration);
|
||||
void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
#endif /* ROVER_V8_H_ */
|
||||
|
|
|
@ -36,7 +36,7 @@ void setSachs(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->trigger.customTotalToothCount = 50;
|
||||
engineConfiguration->trigger.customSkippedToothCount = 2;
|
||||
|
||||
boardConfiguration->useSerialPort = false;
|
||||
engineConfiguration->useSerialPort = false;
|
||||
|
||||
// Frankenstein analog input #1: PA1 adc1 MAP
|
||||
// Frankenstein analog input #2: PA3 adc3 TPS
|
||||
|
@ -75,12 +75,12 @@ void setSachs(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// Frankenstein: low side - out #11: PB8
|
||||
// Frankenstein: low side - out #12: PB9
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOC_15;
|
||||
engineConfiguration->injectionPins[0] = GPIOC_15;
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIOE_6;
|
||||
engineConfiguration->fuelPumpPin = GPIOE_6;
|
||||
|
||||
// todo: extract a method? figure out something smarter
|
||||
setFuelRpmBin(800, 15000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -90,6 +90,6 @@ void setSachs(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->hasFrequencyReportingMapSensor = true;
|
||||
engineConfiguration->frequencyReportingMapInputPin = GPIOC_6;
|
||||
boardConfiguration->mapFrequency100Kpa = 159;
|
||||
boardConfiguration->mapFrequency0Kpa = 80;
|
||||
engineConfiguration->mapFrequency100Kpa = 159;
|
||||
engineConfiguration->mapFrequency0Kpa = 80;
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
EXTERN_CONFIG;
|
||||
|
||||
void setSubaru2003Wrx(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setFrankenso_01_LCD(boardConfiguration);
|
||||
setFrankenso_01_LCD(engineConfiguration);
|
||||
setFrankenso0_1_joystick(engineConfiguration);
|
||||
|
||||
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
|
||||
|
@ -23,16 +23,16 @@ void setSubaru2003Wrx(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->sensorChartFrequency = 2;
|
||||
|
||||
boardConfiguration->useStepperIdle = true;
|
||||
engineConfiguration->useStepperIdle = true;
|
||||
|
||||
// See http://rusefi.com/forum/viewtopic.php?f=4&t=1161
|
||||
boardConfiguration->idle.stepperDirectionPin = GPIOD_1; // top stepper drive pin, white wire recommended
|
||||
boardConfiguration->idle.stepperStepPin = GPIOD_6; // yellow wire recommended
|
||||
engineConfiguration->idle.stepperDirectionPin = GPIOD_1; // top stepper drive pin, white wire recommended
|
||||
engineConfiguration->idle.stepperStepPin = GPIOD_6; // yellow wire recommended
|
||||
engineConfiguration->stepperEnablePin = GPIOB_1; // bottom stepper driver board pin, blue wire recommended
|
||||
|
||||
boardConfiguration->triggerSimulatorPins[0] = GPIO_UNASSIGNED; // we want to avoid PD1 conflict
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPins[0] = GPIO_UNASSIGNED; // we want to avoid PD1 conflict
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -19,7 +19,7 @@ void setSuzukiVitara(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->ignitionMode = IM_ONE_COIL;
|
||||
engineConfiguration->injectionMode = IM_SIMULTANEOUS;
|
||||
|
||||
boardConfiguration->mainRelayPin = GPIOE_6;
|
||||
engineConfiguration->mainRelayPin = GPIOE_6;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -38,20 +38,19 @@ void setTestEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->ignitionMode = IM_ONE_COIL;
|
||||
setConstantDwell(3 PASS_CONFIG_PARAMETER_SUFFIX); // 50% duty cycle @ 5000 rpm
|
||||
|
||||
board_configuration_s *bc = &engineConfiguration->bc;
|
||||
bc->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOC_7; // #1
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; // #2
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; // #4
|
||||
boardConfiguration->ignitionPins[4] = GPIO_UNASSIGNED; // #5
|
||||
boardConfiguration->ignitionPins[5] = GPIO_UNASSIGNED; // #6
|
||||
engineConfiguration->ignitionPins[0] = GPIOC_7; // #1
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; // #2
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; // #4
|
||||
engineConfiguration->ignitionPins[4] = GPIO_UNASSIGNED; // #5
|
||||
engineConfiguration->ignitionPins[5] = GPIO_UNASSIGNED; // #6
|
||||
|
||||
boardConfiguration->logicAnalyzerPins[0] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->logicAnalyzerPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[0] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->logicAnalyzerPins[3] = GPIO_UNASSIGNED;
|
||||
}
|
||||
|
||||
void setTestVVTEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
|
@ -65,7 +64,7 @@ void setTestVVTEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// set algorithm 3
|
||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->camInputs[0] = GPIOA_5;
|
||||
|
||||
// set global_trigger_offset_angle 0
|
||||
|
|
|
@ -32,22 +32,22 @@ static void common2jz(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// set ignition_mode 1
|
||||
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
boardConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
boardConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
boardConfiguration->ignitionPins[3] = GPIOE_10;
|
||||
boardConfiguration->ignitionPins[4] = GPIOE_8;
|
||||
boardConfiguration->ignitionPins[5] = GPIOE_12;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14;
|
||||
engineConfiguration->ignitionPins[1] = GPIOC_7;
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_9;
|
||||
engineConfiguration->ignitionPins[3] = GPIOE_10;
|
||||
engineConfiguration->ignitionPins[4] = GPIOE_8;
|
||||
engineConfiguration->ignitionPins[5] = GPIOE_12;
|
||||
|
||||
|
||||
boardConfiguration->injectionPins[0] = GPIOB_9; // #1
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
boardConfiguration->injectionPins[2] = GPIOB_8; // #3
|
||||
boardConfiguration->injectionPins[3] = GPIOB_7; // #4
|
||||
boardConfiguration->injectionPins[4] = GPIOE_3; // #5
|
||||
boardConfiguration->injectionPins[5] = GPIOE_4; // #6
|
||||
engineConfiguration->injectionPins[0] = GPIOB_9; // #1
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
engineConfiguration->injectionPins[2] = GPIOB_8; // #3
|
||||
engineConfiguration->injectionPins[3] = GPIOB_7; // #4
|
||||
engineConfiguration->injectionPins[4] = GPIOE_3; // #5
|
||||
engineConfiguration->injectionPins[5] = GPIOE_4; // #6
|
||||
|
||||
boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
|
||||
// chartsize 450
|
||||
engineConfiguration->engineChartSize = 450;
|
||||
|
@ -87,10 +87,10 @@ void setToyota_jzs147EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->injectionMode = IM_BATCH;
|
||||
// engineConfiguration->twoWireBatchInjection = true;
|
||||
|
||||
// boardConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
// boardConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
// engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
// engineConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
|
||||
boardConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->isSdCardEnabled = false;
|
||||
|
||||
|
||||
}
|
||||
|
@ -98,13 +98,13 @@ void setToyota_jzs147EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
void setToyota_2jz_vics(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
common2jz(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
boardConfiguration->isSdCardEnabled = true;
|
||||
engineConfiguration->isSdCardEnabled = true;
|
||||
|
||||
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||
engineConfiguration->trigger.type = TT_2JZ_3_34;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOA_5; // crank sensor
|
||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // cam sensor will he handled by custom vtti code
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5; // crank sensor
|
||||
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // cam sensor will he handled by custom vtti code
|
||||
|
||||
engineConfiguration->camInputs[0] = GPIOC_6;
|
||||
engineConfiguration->vvtMode = VVT_2GZ;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* set engine_type 32
|
||||
*
|
||||
* @date May 24, 2015
|
||||
* @author Andrey Belomutskiy, (c) 2012-2018
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#include "global.h"
|
||||
|
@ -48,11 +48,11 @@ void setVwAba(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->ignitionMode = IM_ONE_COIL;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G
|
||||
boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
engineConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G
|
||||
engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->ignitionPinMode = OM_DEFAULT;
|
||||
|
||||
float mapRange = 110;
|
||||
|
||||
|
@ -60,7 +60,7 @@ void setVwAba(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setFuelTablesLoadBin(20, mapRange PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setTimingLoadBin(20, mapRange PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
boardConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->isSdCardEnabled = false;
|
||||
engineConfiguration->tpsMin = 740;
|
||||
engineConfiguration->tpsMax = 135;
|
||||
}
|
||||
|
|
|
@ -2,14 +2,11 @@
|
|||
* @file vw.h
|
||||
*
|
||||
* @date May 24, 2015
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_ENGINES_VW_H_
|
||||
#define CONFIG_ENGINES_VW_H_
|
||||
#pragma once
|
||||
|
||||
#include "engine_configuration.h"
|
||||
|
||||
void setVwAba(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
#endif /* CONFIG_ENGINES_VW_H_ */
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* @file vw_b6.cpp
|
||||
*
|
||||
* @date Dec 26, 2019
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#include "engine.h"
|
||||
#include "vw_b6.h"
|
||||
|
||||
EXTERN_CONFIG;
|
||||
|
||||
/**
|
||||
* set engine_type 62
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
/*
|
||||
* @file vw_b6.h
|
||||
*
|
||||
* @date Dec 26, 2019
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
void setVwPassatB6(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
|
@ -31,39 +31,39 @@ void setZil130(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
|
||||
|
||||
boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED;
|
||||
// engineConfiguration->twoWireBatchInjection = true;
|
||||
boardConfiguration->injectionPinMode = OM_INVERTED;
|
||||
boardConfiguration->injectionPins[0] = GPIOB_8; // #1
|
||||
boardConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
boardConfiguration->injectionPins[2] = GPIOE_3; // #3
|
||||
boardConfiguration->injectionPins[3] = GPIOE_4; // #4
|
||||
boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; // #5
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; // #6
|
||||
boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPinMode = OM_INVERTED;
|
||||
engineConfiguration->injectionPins[0] = GPIOB_8; // #1
|
||||
engineConfiguration->injectionPins[1] = GPIOE_2; // #2
|
||||
engineConfiguration->injectionPins[2] = GPIOE_3; // #3
|
||||
engineConfiguration->injectionPins[3] = GPIOE_4; // #4
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED; // #5
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED; // #6
|
||||
engineConfiguration->injectionPins[6] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->ignitionPins[0] = GPIOB_5; // #1
|
||||
boardConfiguration->ignitionPins[1] = GPIOB_6; // #2
|
||||
boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3
|
||||
boardConfiguration->ignitionPins[3] = GPIOB_7; // #4
|
||||
boardConfiguration->ignitionPins[4] = GPIOC_7; // #5
|
||||
engineConfiguration->ignitionPins[0] = GPIOB_5; // #1
|
||||
engineConfiguration->ignitionPins[1] = GPIOB_6; // #2
|
||||
engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3
|
||||
engineConfiguration->ignitionPins[3] = GPIOB_7; // #4
|
||||
engineConfiguration->ignitionPins[4] = GPIOC_7; // #5
|
||||
|
||||
// fuel pump
|
||||
boardConfiguration->fuelPumpPin = GPIOD_4;
|
||||
engineConfiguration->fuelPumpPin = GPIOD_4;
|
||||
|
||||
// idle
|
||||
boardConfiguration->idle.solenoidPin = GPIOC_14;
|
||||
boardConfiguration->idle.solenoidPinMode = OM_INVERTED;
|
||||
boardConfiguration->idle.solenoidFrequency = 300;
|
||||
boardConfiguration->manIdlePosition = 50; // set_idle_pwm 50
|
||||
engineConfiguration->idle.solenoidPin = GPIOC_14;
|
||||
engineConfiguration->idle.solenoidPinMode = OM_INVERTED;
|
||||
engineConfiguration->idle.solenoidFrequency = 300;
|
||||
engineConfiguration->manIdlePosition = 50; // set_idle_pwm 50
|
||||
|
||||
// disable sd_card
|
||||
boardConfiguration->sdCardCsPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->is_enabled_spi_3 = false;
|
||||
boardConfiguration->max31855spiDevice = SPI_NONE;
|
||||
engineConfiguration->sdCardCsPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->is_enabled_spi_3 = false;
|
||||
engineConfiguration->max31855spiDevice = SPI_NONE;
|
||||
|
||||
boardConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
}
|
||||
|
|
|
@ -41,12 +41,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#define PORT_IDLE_THREAD_STACK_SIZE 1024
|
||||
#define PORT_IDLE_THREAD_STACK_SIZE 32
|
||||
|
||||
// rusEfi main processing happens on IRQ so PORT_INT_REQUIRED_STACK has to be pretty large.
|
||||
// see also a strange comment about PORT_INT_REQUIRED_STACK in global_shared.h
|
||||
// See global_shared.h notes about stack requirements
|
||||
// see also http://www.chibios.org/dokuwiki/doku.php?id=chibios:kb:stacks
|
||||
#define PORT_INT_REQUIRED_STACK 768
|
||||
#define PORT_INT_REQUIRED_STACK 128
|
||||
|
||||
#define CHPRINTF_USE_FLOAT TRUE
|
||||
|
||||
|
@ -605,7 +604,7 @@
|
|||
* tickless mode.
|
||||
*/
|
||||
#if !defined(CH_DBG_THREADS_PROFILING)
|
||||
#define CH_DBG_THREADS_PROFILING FALSE
|
||||
#define CH_DBG_THREADS_PROFILING TRUE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
|
|
@ -293,7 +293,6 @@
|
|||
|
||||
// todo: switch to continues ADC conversion for slow ADC?
|
||||
// https://github.com/rusefi/rusefi/issues/630
|
||||
#define EFI_INTERNAL_SLOW_ADC_PWM &PWMD8
|
||||
// todo: switch to continues ADC conversion for fast ADC?
|
||||
#define EFI_INTERNAL_FAST_ADC_PWM &PWMD4
|
||||
|
||||
|
|
|
@ -201,7 +201,7 @@
|
|||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define ADC_USE_MUTUAL_EXCLUSION TRUE
|
||||
#define ADC_USE_MUTUAL_EXCLUSION FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -244,7 +244,7 @@
|
|||
#define STM32_ICU_USE_TIM3 TRUE
|
||||
#define STM32_ICU_USE_TIM4 FALSE
|
||||
#define STM32_ICU_USE_TIM5 FALSE
|
||||
#define STM32_ICU_USE_TIM8 FALSE
|
||||
#define STM32_ICU_USE_TIM8 TRUE
|
||||
#define STM32_ICU_USE_TIM9 TRUE
|
||||
#define STM32_ICU_TIM1_IRQ_PRIORITY ICU_PRIORITY
|
||||
#define STM32_ICU_TIM2_IRQ_PRIORITY ICU_PRIORITY
|
||||
|
@ -277,7 +277,7 @@
|
|||
#define STM32_PWM_USE_TIM4 TRUE
|
||||
#define STM32_PWM_USE_TIM5 FALSE
|
||||
// todo: https://github.com/rusefi/rusefi/issues/630 ?
|
||||
#define STM32_PWM_USE_TIM8 TRUE
|
||||
#define STM32_PWM_USE_TIM8 FALSE
|
||||
#define STM32_PWM_USE_TIM9 FALSE
|
||||
#define STM32_PWM_TIM1_IRQ_PRIORITY 7
|
||||
#define STM32_PWM_TIM2_IRQ_PRIORITY 7
|
||||
|
|
|
@ -41,12 +41,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#define PORT_IDLE_THREAD_STACK_SIZE 1024
|
||||
#define PORT_IDLE_THREAD_STACK_SIZE 32
|
||||
|
||||
// rusEfi main processing happens on IRQ so PORT_INT_REQUIRED_STACK has to be pretty large.
|
||||
// see also a strange comment about PORT_INT_REQUIRED_STACK in global_shared.h
|
||||
// See global_shared.h notes about stack requirements
|
||||
// see also http://www.chibios.org/dokuwiki/doku.php?id=chibios:kb:stacks
|
||||
#define PORT_INT_REQUIRED_STACK 768
|
||||
#define PORT_INT_REQUIRED_STACK 128
|
||||
|
||||
#define CHPRINTF_USE_FLOAT TRUE
|
||||
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
#define STM32_ICU_USE_TIM3 TRUE
|
||||
#define STM32_ICU_USE_TIM4 FALSE
|
||||
#define STM32_ICU_USE_TIM5 FALSE
|
||||
#define STM32_ICU_USE_TIM8 FALSE
|
||||
#define STM32_ICU_USE_TIM8 TRUE
|
||||
#define STM32_ICU_USE_TIM9 TRUE
|
||||
#define STM32_ICU_TIM1_IRQ_PRIORITY ICU_PRIORITY
|
||||
#define STM32_ICU_TIM2_IRQ_PRIORITY ICU_PRIORITY
|
||||
|
@ -285,7 +285,7 @@
|
|||
#define STM32_PWM_USE_TIM3 FALSE
|
||||
#define STM32_PWM_USE_TIM4 TRUE
|
||||
#define STM32_PWM_USE_TIM5 FALSE
|
||||
#define STM32_PWM_USE_TIM8 TRUE
|
||||
#define STM32_PWM_USE_TIM8 FALSE
|
||||
#define STM32_PWM_USE_TIM9 FALSE
|
||||
#define STM32_PWM_TIM1_IRQ_PRIORITY 7
|
||||
#define STM32_PWM_TIM2_IRQ_PRIORITY 7
|
||||
|
|
|
@ -49,7 +49,7 @@ static void runCommands() {
|
|||
chThdSleepMilliseconds(1000); // safety
|
||||
|
||||
// Store current serial port speed - we're going to change it
|
||||
int savedSerialSpeed = CONFIGB(tunerStudioSerialSpeed);
|
||||
int savedSerialSpeed = CONFIG(tunerStudioSerialSpeed);
|
||||
|
||||
int prevBaudIdx = -1, baudIdx = -1, baudListIdx = 0;
|
||||
int cmdIdx = 0;
|
||||
|
@ -75,7 +75,7 @@ static void runCommands() {
|
|||
}
|
||||
chThdSleepMilliseconds(10); // safety
|
||||
// change the port speed
|
||||
CONFIGB(tunerStudioSerialSpeed) = restoreAndExit ? savedSerialSpeed : baudRates[baudIdx];
|
||||
CONFIG(tunerStudioSerialSpeed) = restoreAndExit ? savedSerialSpeed : baudRates[baudIdx];
|
||||
// init UART
|
||||
startTsPort(tsChannel);
|
||||
chThdSleepMilliseconds(10); // safety
|
||||
|
@ -160,7 +160,7 @@ void bluetoothStart(ts_channel_s *tsChan, bluetooth_module_e moduleType, const c
|
|||
tsChannel = tsChan;
|
||||
|
||||
// if a binary protocol uses USB, we cannot init the bluetooth module!
|
||||
if (!CONFIGB(useSerialPort)) {
|
||||
if (!CONFIG(useSerialPort)) {
|
||||
scheduleMsg(&btLogger, "Failed! Serial Port connection is disabled!");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -152,7 +152,7 @@ void printTsStats(void) {
|
|||
scheduleMsg(&tsLogger, "TS RX on %s", hwPortname(engineConfiguration->binarySerialRxPin));
|
||||
|
||||
scheduleMsg(&tsLogger, "TS TX on %s @%d", hwPortname(engineConfiguration->binarySerialTxPin),
|
||||
CONFIGB(tunerStudioSerialSpeed));
|
||||
CONFIG(tunerStudioSerialSpeed));
|
||||
}
|
||||
#endif /* EFI_PROD_CODE */
|
||||
|
||||
|
@ -164,7 +164,7 @@ void printTsStats(void) {
|
|||
// int fuelMapOffset = (int) (&engineConfiguration->fuelTable) - (int) engineConfiguration;
|
||||
// scheduleMsg(logger, "fuelTable %d", fuelMapOffset);
|
||||
//
|
||||
// int offset = (int) (&CONFIGB(hip9011Gain)) - (int) engineConfiguration;
|
||||
// int offset = (int) (&CONFIG(hip9011Gain)) - (int) engineConfiguration;
|
||||
// scheduleMsg(&tsLogger, "hip9011Gain %d", offset);
|
||||
//
|
||||
// offset = (int) (&engineConfiguration->crankingCycleBins) - (int) engineConfiguration;
|
||||
|
@ -175,7 +175,7 @@ void printTsStats(void) {
|
|||
}
|
||||
|
||||
static void setTsSpeed(int value) {
|
||||
CONFIGB(tunerStudioSerialSpeed) = value;
|
||||
CONFIG(tunerStudioSerialSpeed) = value;
|
||||
printTsStats();
|
||||
}
|
||||
|
||||
|
@ -257,8 +257,6 @@ static void onlineApplyWorkingCopyBytes(int currentPageId, uint32_t offset, int
|
|||
}
|
||||
}
|
||||
|
||||
extern EtbController etbController[ETB_COUNT];
|
||||
|
||||
static const void * getStructAddr(int structId) {
|
||||
switch (structId) {
|
||||
case LDS_CLT_STATE_INDEX:
|
||||
|
@ -275,7 +273,7 @@ static const void * getStructAddr(int structId) {
|
|||
return static_cast<trigger_state_s*>(&engine->triggerCentral.triggerState);
|
||||
#if EFI_ELECTRONIC_THROTTLE_BODY
|
||||
case LDS_ETB_PID_STATE_INDEX:
|
||||
return static_cast<pid_state_s*>(&etbController[0].etbPid);
|
||||
return static_cast<EtbController*>(engine->etbControllers[0])->getPidState();
|
||||
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
|
||||
|
||||
#ifndef EFI_IDLE_CONTROL
|
||||
|
|
|
@ -12,6 +12,49 @@
|
|||
#define TUNERSTUDIO_CONFIGURATION_H_
|
||||
|
||||
#include "rusefi_types.h"
|
||||
#include "rusefi_generated.h"
|
||||
|
||||
#include "tunerstudio_debug_struct.h"
|
||||
|
||||
// This class lets us transparently store something at a ratio inside an integer type
|
||||
// Just use it like a float - you can read and write to it, like this:
|
||||
// scaled_channel<uint8_t, 10> myVar;
|
||||
// myVar = 2.4f; // converts to an int, stores 24
|
||||
// float x = myVar; // converts back to float, returns 2.4f
|
||||
template <typename T, int mult = 1>
|
||||
class scaled_channel {
|
||||
public:
|
||||
scaled_channel() : m_value(static_cast<T>(0)) { }
|
||||
scaled_channel(float val)
|
||||
: m_value(val * mult)
|
||||
{
|
||||
}
|
||||
|
||||
// Allow reading back out as a float (note: this may be lossy!)
|
||||
operator float() const {
|
||||
return m_value / (float)mult;
|
||||
}
|
||||
|
||||
private:
|
||||
T m_value;
|
||||
};
|
||||
|
||||
// We need to guarantee that scaled values containing some type are the same size
|
||||
// as that underlying type. We rely on the class only having a single member for
|
||||
// this trick to work.
|
||||
static_assert(sizeof(scaled_channel<uint8_t>) == 1);
|
||||
static_assert(sizeof(scaled_channel<uint16_t>) == 2);
|
||||
static_assert(sizeof(scaled_channel<uint32_t>) == 4);
|
||||
static_assert(sizeof(scaled_channel<float>) == 4);
|
||||
|
||||
// Common scaling options - use these if you can!
|
||||
using scaled_temperature = scaled_channel<int16_t, PACK_MULT_TEMPERATURE>; // +-327 deg C at 0.01 deg resolution
|
||||
using scaled_ms = scaled_channel<int16_t, PACK_MULT_MS>; // +- 100ms at 0.003ms precision
|
||||
using scaled_percent = scaled_channel<int16_t, PACK_MULT_PERCENT>; // +-327% at 0.01% resolution
|
||||
using scaled_pressure = scaled_channel<uint16_t, PACK_MULT_PRESSURE>; // 0-2000kPa (~300psi) at 0.03kPa resolution
|
||||
using scaled_angle = scaled_channel<int16_t, PACK_MULT_ANGLE>; // +-655 degrees at 0.02 degree resolution
|
||||
using scaled_voltage = scaled_channel<uint16_t, PACK_MULT_VOLTAGE>; // 0-65v at 1mV resolution
|
||||
using scaled_afr = scaled_channel<uint16_t, PACK_MULT_AFR>; // 0-65afr at 0.001 resolution
|
||||
|
||||
#define PAGE_COUNT 1
|
||||
|
||||
|
@ -20,40 +63,16 @@ typedef struct {
|
|||
} egt_values_s;
|
||||
|
||||
/**
|
||||
* At the moment rusEfi does NOT have any code generation around TS output channels, three locations have to be changed manually
|
||||
* 1) this TunerStudioOutputChannels firmware version of the structure
|
||||
* 2) '[OutputChannels]' block in rusefi.input
|
||||
* 3) com.rusefi.core.Sensor enum in rusEfi console source code
|
||||
*
|
||||
* please be aware that 'float' (F32) type requires TunerStudio version 2.6 and later
|
||||
*/
|
||||
typedef struct {
|
||||
/* see also [OutputChannels] in rusefi.input */
|
||||
// primary instrument cluster gauges
|
||||
int rpm; // size 4, offset 0
|
||||
/**
|
||||
* This value is in Celcius - UI would convert into F if needed
|
||||
*/
|
||||
float coolantTemperature; // size 4, offset 4
|
||||
float intakeAirTemperature; // size 4, offset 8
|
||||
float throttlePositon; // size 4, offset 12
|
||||
float massAirFlowVoltage; // size 4, offset 16
|
||||
float airFuelRatio; // size 4, offset 20
|
||||
float engineLoad; // size 4, offset 24
|
||||
float vBatt; // size 4, offset 28
|
||||
short int tpsADC; // size 2, offset 32
|
||||
short int alignment; // size 2, offset 34
|
||||
float baroPressure; // size 4, offset 36
|
||||
float manifoldAirPressure; // size 4, offset 40
|
||||
float crankingFuelMs; // offset 44
|
||||
/**
|
||||
* This is the raw value we take from the fuel map or base fuel algorithm, before the corrections
|
||||
*/
|
||||
float fuelBase; // 48
|
||||
float tCharge; // 52
|
||||
float ignitionAdvance; // 56
|
||||
float sparkDwell; // 60
|
||||
/**
|
||||
* this one contains total resulting fuel squirt time, per event
|
||||
* With all corrections and injector lag. See also baseFuel
|
||||
*/
|
||||
float actualLastInjection; // 64
|
||||
float debugFloatField1; // 68
|
||||
|
||||
/**
|
||||
* Yes, I do not really enjoy packing bits into integers but we simply have too many boolean flags and I cannot
|
||||
* water 4 bytes per traffic - I want gauges to work as fast as possible
|
||||
|
@ -76,107 +95,139 @@ typedef struct {
|
|||
unsigned int brakePedalState : 1; // bit 15. 0 - not pressed, 1 = pressed
|
||||
unsigned int toothLogReady : 1; // bit 16
|
||||
unsigned int acSwitchState : 1; // bit 17. 0 - not pressed, 1 = pressed
|
||||
float vehicleSpeedKph; // 76
|
||||
unsigned int isTpsError : 1; // bit 0, 80
|
||||
unsigned int isCltError : 1; // bit 1
|
||||
unsigned int isMapError : 1; // bit 2
|
||||
unsigned int isIatError : 1; // bit 3
|
||||
unsigned int isAcSwitchEngaged : 1; // bit 4
|
||||
unsigned int isTriggerError : 1; // bit 5
|
||||
unsigned int hasFatalError : 1; // bit 6
|
||||
unsigned int isWarnNow : 1; // bit 7
|
||||
unsigned int unused80b8 : 1; // bit 8
|
||||
unsigned int isKnockChipOk : 1; // bit 9
|
||||
int tsConfigVersion; // 84
|
||||
egt_values_s egtValues; // 88
|
||||
float rpmAcceleration; // 104
|
||||
float massAirFlow; // 108
|
||||
/**
|
||||
* Current volumetric efficiency
|
||||
*/
|
||||
float veValue; // offset 112
|
||||
/**
|
||||
* TPS value delta within specified number of cycles
|
||||
* See tpsAccelFuel
|
||||
*/
|
||||
float deltaTps; // offset 116
|
||||
int triggerErrorsCounter; // offset 120
|
||||
/**
|
||||
* Engine load delta
|
||||
*/
|
||||
float engineLoadAccelExtra; // offset 124
|
||||
float tpsAccelFuel; // offset 128
|
||||
float baroCorrection; // 132
|
||||
float pedalPosition; // 136
|
||||
/**
|
||||
* @see coilDutyCycle
|
||||
*/
|
||||
float injectorDutyCycle; // 140
|
||||
int knockCount; // 144
|
||||
float fuelTankLevel; // 148
|
||||
float knockLevel; // 152
|
||||
int totalTriggerErrorCounter; // 156
|
||||
float wallFuelAmount; // 160
|
||||
/**
|
||||
* multiplier, 1 means no correction, 1.20 means 20% extra
|
||||
*/
|
||||
float iatCorrection; // 164
|
||||
floatms_t wallFuelCorrection; // 168
|
||||
float idlePosition; // 172
|
||||
float currentTargetAfr; // 176
|
||||
float chargeAirMass; // 180
|
||||
/**
|
||||
* multiplier, 1 means no correction, 1.20 means 20% extra
|
||||
*/
|
||||
float cltCorrection; // 184
|
||||
/**
|
||||
* Total fuel with CLT, IAT and TPS acceleration without injector lag corrections per cycle,
|
||||
* as squirt duration.
|
||||
*
|
||||
* @see actualLastInjection
|
||||
*/
|
||||
float fuelRunning; // 188
|
||||
int debugIntField1; // 192
|
||||
float injectorLagMs; // 196
|
||||
float debugFloatField2; // 200
|
||||
float debugFloatField3; // 204
|
||||
float debugFloatField4; // 208
|
||||
float debugFloatField5; // 212
|
||||
int debugIntField2; // 216
|
||||
int debugIntField3; // 220
|
||||
int timeSeconds; // 224
|
||||
float engineLoadDelta; // 228
|
||||
float speedToRpmRatio; // 232
|
||||
int16_t warningCounter; // 236
|
||||
int16_t unused_238;
|
||||
int16_t lastErrorCode; // 240
|
||||
int16_t unused_242;
|
||||
/**
|
||||
* Microcontroller own internal temperature, C
|
||||
*/
|
||||
float internalMcuTemperature; // 244
|
||||
float vvtPosition; // 248
|
||||
int engineMode; // 252
|
||||
float debugFloatField6; // 256
|
||||
float debugFloatField7; // 260
|
||||
int firmwareVersion; // 264
|
||||
float fuelPidCorrection; // 268
|
||||
/**
|
||||
* @see injectorDutyCycle
|
||||
*/
|
||||
float coilDutyCycle; // 272
|
||||
int16_t accelerationX; // 276
|
||||
int16_t accelerationY; // 278
|
||||
float oilPressure; // 280
|
||||
float fuelConsumptionPerHour; // 284
|
||||
float injectionOffset; // 288
|
||||
int16_t debugIntField4; // 292
|
||||
int16_t debugIntField5; // 294
|
||||
int16_t recentErrorCodes[8]; // 298
|
||||
float etbTarget; // 312
|
||||
float etb1DutyCycle; // 316
|
||||
float etb1Error; // 320
|
||||
int unused3[8];
|
||||
unsigned int isTpsError : 1; // bit 18
|
||||
unsigned int isCltError : 1; // bit 19
|
||||
unsigned int isMapError : 1; // bit 20
|
||||
unsigned int isIatError : 1; // bit 21
|
||||
unsigned int isAcSwitchEngaged : 1; // bit 22
|
||||
unsigned int isTriggerError : 1; // bit 23
|
||||
unsigned int hasFatalError : 1; // bit 24
|
||||
unsigned int isWarnNow : 1; // bit 25
|
||||
unsigned int unused80b8 : 1; // bit 26
|
||||
unsigned int isKnockChipOk : 1; // bit 27
|
||||
|
||||
// RPM, vss
|
||||
scaled_channel<uint16_t> rpm; // 4
|
||||
scaled_percent rpmAcceleration; // 6
|
||||
scaled_percent speedToRpmRatio; // 8
|
||||
scaled_channel<uint8_t> vehicleSpeedKph; // 10
|
||||
|
||||
// temperatures
|
||||
scaled_channel<int8_t> internalMcuTemperature; // offset 11
|
||||
scaled_temperature coolantTemperature; // offset 12
|
||||
scaled_temperature intakeAirTemperature; // offset 14
|
||||
scaled_temperature auxTemp1; // offset 16
|
||||
scaled_temperature auxTemp2; // offset 18
|
||||
|
||||
// throttle, pedal
|
||||
scaled_percent throttlePosition; // 20
|
||||
scaled_percent pedalPosition; // 22
|
||||
uint16_t tpsADC; // 24
|
||||
|
||||
// air flow/mass measurment
|
||||
scaled_voltage massAirFlowVoltage; // 26
|
||||
scaled_channel<uint16_t, 100> massAirFlow; // 28
|
||||
scaled_pressure manifoldAirPressure; // 30
|
||||
scaled_pressure baroPressure; // 32
|
||||
|
||||
scaled_afr airFuelRatio; // 34
|
||||
scaled_channel<uint16_t, 100> engineLoad; // 36
|
||||
|
||||
// misc sensors
|
||||
scaled_voltage vBatt; // 38
|
||||
scaled_pressure oilPressure; // 40
|
||||
scaled_angle vvtPosition; // 42
|
||||
|
||||
// Fuel math
|
||||
scaled_channel<uint16_t, 1000> chargeAirMass; // 44
|
||||
scaled_ms crankingFuelMs; // 46
|
||||
scaled_afr currentTargetAfr; // 48
|
||||
// This is the raw value we take from the fuel map or base fuel algorithm, before the corrections
|
||||
scaled_ms fuelBase; // 50
|
||||
// Total fuel with CLT, IAT and TPS acceleration without injector lag corrections per cycle, as pulse per cycle
|
||||
scaled_ms fuelRunning; // 52
|
||||
// Actual last injection time - including all compensation and injection mode
|
||||
scaled_ms actualLastInjection; // 54
|
||||
scaled_channel<uint8_t, 2> injectorDutyCycle; // 56
|
||||
scaled_channel<uint8_t, 2> veValue; // 57
|
||||
scaled_angle injectionOffset; // 58
|
||||
scaled_temperature tCharge; // 60
|
||||
|
||||
// Corrections
|
||||
scaled_ms injectorLagMs; // 62
|
||||
scaled_percent iatCorrection; // 64
|
||||
scaled_percent cltCorrection; // 66
|
||||
scaled_percent baroCorrection; // 68
|
||||
scaled_ms fuelPidCorrection; // 70
|
||||
|
||||
// Wall model AE
|
||||
scaled_ms wallFuelAmount; // 72
|
||||
scaled_channel<int16_t, 1000> wallFuelCorrection; // 74
|
||||
|
||||
// TPS/load AE
|
||||
scaled_percent engineLoadDelta; // 76
|
||||
scaled_percent deltaTps; // 78
|
||||
scaled_percent engineLoadAccelExtra; // 80
|
||||
scaled_ms tpsAccelFuel; // 82
|
||||
|
||||
// Ignition
|
||||
scaled_angle ignitionAdvance; // 84
|
||||
scaled_ms sparkDwell; // 86
|
||||
scaled_percent coilDutyCycle; // 88
|
||||
|
||||
// Idle & ETB
|
||||
scaled_percent idlePosition; // 90
|
||||
scaled_percent etbTarget; // 92
|
||||
scaled_percent etb1DutyCycle; // 94
|
||||
scaled_percent etb1Error; // 96
|
||||
|
||||
// Fuel system
|
||||
scaled_percent fuelTankLevel; // 98
|
||||
float fuelConsumptionPerHour; // 100
|
||||
|
||||
// Knock
|
||||
uint32_t knockCount; // 104
|
||||
float knockLevel; // 108
|
||||
|
||||
// Mode, firmware, protocol, run time
|
||||
uint32_t timeSeconds; // 112
|
||||
uint32_t engineMode; // 116
|
||||
uint32_t firmwareVersion; // 120
|
||||
uint32_t tsConfigVersion; // 124
|
||||
|
||||
// Errors
|
||||
int totalTriggerErrorCounter; // 128
|
||||
int orderingErrorCounter; // 132
|
||||
int16_t warningCounter; // 136
|
||||
int16_t lastErrorCode; // 138
|
||||
int16_t recentErrorCodes[8]; // 140
|
||||
|
||||
// Debug
|
||||
float debugFloatField1; // 156
|
||||
float debugFloatField2;
|
||||
float debugFloatField3;
|
||||
float debugFloatField4;
|
||||
float debugFloatField5;
|
||||
float debugFloatField6;
|
||||
float debugFloatField7;
|
||||
int debugIntField1;
|
||||
int debugIntField2;
|
||||
int debugIntField3;
|
||||
int16_t debugIntField4;
|
||||
int16_t debugIntField5; // 198
|
||||
|
||||
// accelerometer
|
||||
int16_t accelerationX; // 200
|
||||
int16_t accelerationY; // 202
|
||||
|
||||
// EGT
|
||||
egt_values_s egtValues; // 204
|
||||
|
||||
// Temporary - will remove soon
|
||||
TsDebugChannels* getDebugChannels() {
|
||||
return reinterpret_cast<TsDebugChannels*>(&debugFloatField1);
|
||||
}
|
||||
|
||||
/* see also [OutputChannels] in rusefi.input */
|
||||
} TunerStudioOutputChannels;
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#pragma once
|
||||
|
||||
typedef struct {
|
||||
float debugFloatField1; // 180
|
||||
float debugFloatField2;
|
||||
float debugFloatField3;
|
||||
float debugFloatField4;
|
||||
float debugFloatField5;
|
||||
float debugFloatField6;
|
||||
float debugFloatField7;
|
||||
int debugIntField1;
|
||||
int debugIntField2;
|
||||
int debugIntField3;
|
||||
int16_t debugIntField4;
|
||||
int16_t debugIntField5;
|
||||
} TsDebugChannels;
|
|
@ -99,7 +99,7 @@ void startTsPort(ts_channel_s *tsChannel) {
|
|||
return;
|
||||
#endif /* CONSOLE_USB_DEVICE */
|
||||
#if defined(TS_UART_DEVICE) || defined(TS_SERIAL_DEVICE)
|
||||
if (CONFIGB(useSerialPort)) {
|
||||
if (CONFIG(useSerialPort)) {
|
||||
|
||||
print("TunerStudio over USART");
|
||||
/**
|
||||
|
@ -115,7 +115,7 @@ void startTsPort(ts_channel_s *tsChannel) {
|
|||
iqObjectInit(&tsUartDma.fifoRxQueue, tsUartDma.buffer, sizeof(tsUartDma.buffer), NULL, NULL);
|
||||
|
||||
// start DMA driver
|
||||
tsDmaUartConfig.speed = CONFIGB(tunerStudioSerialSpeed);
|
||||
tsDmaUartConfig.speed = CONFIG(tunerStudioSerialSpeed);
|
||||
uartStart(TS_UART_DEVICE, &tsDmaUartConfig);
|
||||
|
||||
// start continuous DMA transfer using our circular buffer
|
||||
|
@ -124,11 +124,11 @@ void startTsPort(ts_channel_s *tsChannel) {
|
|||
#elif TS_UART_MODE
|
||||
print("Using UART mode");
|
||||
// start DMA driver
|
||||
tsUartConfig.speed = CONFIGB(tunerStudioSerialSpeed);
|
||||
tsUartConfig.speed = CONFIG(tunerStudioSerialSpeed);
|
||||
uartStart(TS_UART_DEVICE, &tsUartConfig);
|
||||
#elif defined(TS_SERIAL_DEVICE)
|
||||
print("Using Serial mode");
|
||||
tsSerialConfig.speed = CONFIGB(tunerStudioSerialSpeed);
|
||||
tsSerialConfig.speed = CONFIG(tunerStudioSerialSpeed);
|
||||
|
||||
sdStart(TS_SERIAL_DEVICE, &tsSerialConfig);
|
||||
|
||||
|
@ -148,7 +148,7 @@ bool stopTsPort(ts_channel_s *tsChannel) {
|
|||
//usb_serial_stop();
|
||||
return false;
|
||||
#endif
|
||||
if (CONFIGB(useSerialPort)) {
|
||||
if (CONFIG(useSerialPort)) {
|
||||
// todo: disable Rx/Tx pads?
|
||||
#if (TS_UART_DMA_MODE || TS_UART_MODE)
|
||||
uartStop(TS_UART_DEVICE);
|
||||
|
|
|
@ -100,15 +100,12 @@ extern int icuWidthPeriodCounter;
|
|||
extern WaveChart waveChart;
|
||||
#endif /* EFI_ENGINE_SNIFFER */
|
||||
|
||||
// this 'true' value is needed for simulator
|
||||
static volatile bool fullLog = true;
|
||||
int warningEnabled = true;
|
||||
//int warningEnabled = FALSE;
|
||||
|
||||
extern bool hasFirmwareErrorFlag;
|
||||
extern int maxTriggerReentraint;
|
||||
extern uint32_t maxLockedDuration;
|
||||
#define FULL_LOGGING_KEY "fl"
|
||||
|
||||
|
||||
#if !defined(STATUS_LOGGING_BUFFER_SIZE)
|
||||
#define STATUS_LOGGING_BUFFER_SIZE 1800
|
||||
|
@ -406,9 +403,6 @@ void writeLogLine(void) {
|
|||
#endif /* EFI_FILE_LOGGING */
|
||||
}
|
||||
|
||||
#define INITIAL_FULL_LOG TRUE
|
||||
//#define INITIAL_FULL_LOG FALSE
|
||||
|
||||
volatile int needToReportStatus = FALSE;
|
||||
static int prevCkpEventCounter = -1;
|
||||
|
||||
|
@ -452,21 +446,21 @@ void printOverallStatus(systime_t nowSeconds) {
|
|||
int seconds = getTimeNowSeconds();
|
||||
printCurrentState(&logger, seconds, getConfigurationName(engineConfiguration->engineType), FIRMWARE_ID);
|
||||
#if EFI_PROD_CODE
|
||||
printOutPin(PROTOCOL_CRANK1, CONFIGB(triggerInputPins)[0]);
|
||||
printOutPin(PROTOCOL_CRANK2, CONFIGB(triggerInputPins)[1]);
|
||||
printOutPin(PROTOCOL_CRANK1, CONFIG(triggerInputPins)[0]);
|
||||
printOutPin(PROTOCOL_CRANK2, CONFIG(triggerInputPins)[1]);
|
||||
printOutPin(PROTOCOL_VVT_NAME, engineConfiguration->camInputs[0]);
|
||||
printOutPin(PROTOCOL_HIP_NAME, CONFIGB(hip9011IntHoldPin));
|
||||
printOutPin(PROTOCOL_TACH_NAME, CONFIGB(tachOutputPin));
|
||||
printOutPin(PROTOCOL_HIP_NAME, CONFIG(hip9011IntHoldPin));
|
||||
printOutPin(PROTOCOL_TACH_NAME, CONFIG(tachOutputPin));
|
||||
printOutPin(PROTOCOL_DIZZY_NAME, engineConfiguration->dizzySparkOutputPin);
|
||||
#if EFI_LOGIC_ANALYZER
|
||||
printOutPin(PROTOCOL_WA_CHANNEL_1, CONFIGB(logicAnalyzerPins)[0]);
|
||||
printOutPin(PROTOCOL_WA_CHANNEL_2, CONFIGB(logicAnalyzerPins)[1]);
|
||||
printOutPin(PROTOCOL_WA_CHANNEL_1, CONFIG(logicAnalyzerPins)[0]);
|
||||
printOutPin(PROTOCOL_WA_CHANNEL_2, CONFIG(logicAnalyzerPins)[1]);
|
||||
#endif /* EFI_LOGIC_ANALYZER */
|
||||
|
||||
for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) {
|
||||
printOutPin(enginePins.coils[i].getShortName(), CONFIGB(ignitionPins)[i]);
|
||||
printOutPin(enginePins.coils[i].getShortName(), CONFIG(ignitionPins)[i]);
|
||||
|
||||
printOutPin(enginePins.injectors[i].getShortName(), CONFIGB(injectionPins)[i]);
|
||||
printOutPin(enginePins.injectors[i].getShortName(), CONFIG(injectionPins)[i]);
|
||||
}
|
||||
for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT;i++) {
|
||||
printOutPin(enginePins.auxValve[i].getShortName(), engineConfiguration->auxValves[i]);
|
||||
|
@ -586,14 +580,14 @@ static OutputPin *leds[] = { &enginePins.warningLedPin, &enginePins.runningLedPi
|
|||
static void initStatusLeds(void) {
|
||||
enginePins.communicationLedPin.initPin("led: comm status", engineConfiguration->communicationLedPin);
|
||||
// we initialize this here so that we can blink it on start-up
|
||||
enginePins.checkEnginePin.initPin("MalfunctionIndicator", CONFIGB(malfunctionIndicatorPin), &CONFIGB(malfunctionIndicatorPinMode));
|
||||
enginePins.checkEnginePin.initPin("MalfunctionIndicator", CONFIG(malfunctionIndicatorPin), &CONFIG(malfunctionIndicatorPinMode));
|
||||
|
||||
enginePins.warningLedPin.initPin("led: warning status", engineConfiguration->warningLedPin);
|
||||
enginePins.runningLedPin.initPin("led: running status", engineConfiguration->runningLedPin);
|
||||
|
||||
enginePins.debugTriggerSync.initPin("debug: sync", CONFIGB(debugTriggerSync));
|
||||
enginePins.debugTimerCallback.initPin("debug: timer callback", CONFIGB(debugTimerCallback));
|
||||
enginePins.debugSetTimer.initPin("debug: set timer", CONFIGB(debugSetTimer));
|
||||
enginePins.debugTriggerSync.initPin("debug: sync", CONFIG(debugTriggerSync));
|
||||
enginePins.debugTimerCallback.initPin("debug: timer callback", CONFIG(debugTimerCallback));
|
||||
enginePins.debugSetTimer.initPin("debug: set timer", CONFIG(debugSetTimer));
|
||||
}
|
||||
|
||||
#define BLINKING_PERIOD_MS 33
|
||||
|
@ -602,7 +596,7 @@ static void initStatusLeds(void) {
|
|||
|
||||
static bool isTriggerErrorNow() {
|
||||
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
|
||||
bool justHadError = (getTimeNowNt() - engine->triggerCentral.triggerState.lastDecodingErrorTime) < US2NT(MS2US(200));
|
||||
bool justHadError = (getTimeNowNt() - engine->triggerCentral.triggerState.lastDecodingErrorTime) < MS2NT(200);
|
||||
return justHadError || isTriggerDecoderError();
|
||||
#else
|
||||
return false;
|
||||
|
@ -676,12 +670,12 @@ static CommunicationBlinkingTask communicationsBlinkingTask;
|
|||
#if EFI_LCD
|
||||
class LcdController : public PeriodicController<UTILITY_THREAD_STACK_SIZE> {
|
||||
public:
|
||||
LcdController() : PeriodicController("BenchThread") { }
|
||||
LcdController() : PeriodicController("LCD") { }
|
||||
private:
|
||||
void PeriodicTask(efitime_t nowNt) override {
|
||||
void PeriodicTask(efitick_t nowNt) override {
|
||||
UNUSED(nowNt);
|
||||
setPeriod(NOT_TOO_OFTEN(10 /* ms */, engineConfiguration->bc.lcdThreadPeriodMs));
|
||||
if (engineConfiguration->bc.useLcdScreen) {
|
||||
setPeriod(NOT_TOO_OFTEN(10 /* ms */, engineConfiguration->lcdThreadPeriodMs));
|
||||
if (engineConfiguration->useLcdScreen) {
|
||||
#if EFI_HD44780_LCD
|
||||
updateHD44780lcd();
|
||||
#endif
|
||||
|
@ -726,7 +720,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
// offset 8
|
||||
tsOutputChannels->intakeAirTemperature = intake;
|
||||
// offset 12
|
||||
tsOutputChannels->throttlePositon = tps;
|
||||
tsOutputChannels->throttlePosition = tps;
|
||||
// offset 16
|
||||
tsOutputChannels->massAirFlowVoltage = hasMafSensor() ? getMafVoltage(PASS_ENGINE_PARAMETER_SIGNATURE) : 0;
|
||||
|
||||
|
@ -760,9 +754,11 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
// offset 116
|
||||
// TPS acceleration
|
||||
tsOutputChannels->deltaTps = engine->tpsAccelEnrichment.getMaxDelta();
|
||||
// 120
|
||||
tsOutputChannels->triggerErrorsCounter = engine->triggerCentral.triggerState.totalTriggerErrorCounter;
|
||||
// 128
|
||||
tsOutputChannels->totalTriggerErrorCounter = engine->triggerCentral.triggerState.totalTriggerErrorCounter;
|
||||
// 132
|
||||
tsOutputChannels->orderingErrorCounter = engine->triggerCentral.triggerState.orderingErrorCounter;
|
||||
// 68
|
||||
tsOutputChannels->baroCorrection = engine->engineState.baroCorrection;
|
||||
// 136
|
||||
tsOutputChannels->pedalPosition = hasPedalPositionSensor(PASS_ENGINE_PARAMETER_SIGNATURE) ? getPedalPosition(PASS_ENGINE_PARAMETER_SIGNATURE) : 0;
|
||||
|
@ -789,7 +785,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
tsOutputChannels->vvtPosition = engine->triggerCentral.vvtPosition;
|
||||
// 252
|
||||
tsOutputChannels->engineMode = packEngineMode(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
// 264
|
||||
// 120
|
||||
tsOutputChannels->firmwareVersion = getRusEfiVersion();
|
||||
// 268
|
||||
tsOutputChannels->fuelPidCorrection = ENGINE(engineState.running.pidCorrection);
|
||||
|
@ -797,6 +793,8 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
tsOutputChannels->accelerationX = engine->sensors.accelerometer.x;
|
||||
// 278
|
||||
tsOutputChannels->accelerationY = engine->sensors.accelerometer.y;
|
||||
// 280
|
||||
tsOutputChannels->oilPressure = Sensor::get(SensorType::OilPressure).Value;
|
||||
// 288
|
||||
tsOutputChannels->injectionOffset = engine->engineState.injectionOffset;
|
||||
|
||||
|
@ -814,7 +812,6 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
tsOutputChannels->knockLevel = engine->knockVolts;
|
||||
|
||||
tsOutputChannels->hasFatalError = hasFirmwareError();
|
||||
tsOutputChannels->totalTriggerErrorCounter = engine->triggerCentral.triggerState.totalTriggerErrorCounter;
|
||||
|
||||
tsOutputChannels->coilDutyCycle = getCoilDutyCycle(rpm PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
|
@ -1019,7 +1016,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
break;
|
||||
case DBG_TLE8888:
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
tle8888PostState(tsOutputChannels);
|
||||
tle8888PostState(tsOutputChannels->getDebugChannels());
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
break;
|
||||
default:
|
||||
|
@ -1035,8 +1032,6 @@ void prepareTunerStudioOutputs(void) {
|
|||
#endif /* EFI_TUNER_STUDIO */
|
||||
|
||||
void initStatusLoop(void) {
|
||||
setFullLog(INITIAL_FULL_LOG);
|
||||
addConsoleActionI(FULL_LOGGING_KEY, setFullLog);
|
||||
addConsoleActionI("warn", setWarningEnabled);
|
||||
|
||||
#if EFI_ENGINE_CONTROL
|
||||
|
@ -1061,13 +1056,3 @@ void startStatusThreads(void) {
|
|||
lcdInstance.Start();
|
||||
#endif /* EFI_LCD */
|
||||
}
|
||||
|
||||
void setFullLog(int value) {
|
||||
print("Setting full logging: %s\r\n", boolToString(value));
|
||||
printMsg(&logger, "%s%d", FULL_LOGGING_KEY, value);
|
||||
fullLog = value;
|
||||
}
|
||||
|
||||
bool getFullLog(void) {
|
||||
return fullLog;
|
||||
}
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
* @file status_loop.h
|
||||
*
|
||||
* @date Mar 15, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#ifndef CONSOLE_LOOP_H_
|
||||
#define CONSOLE_LOOP_H_
|
||||
#pragma once
|
||||
|
||||
#include "engine.h"
|
||||
|
||||
|
@ -15,7 +14,4 @@ void prepareTunerStudioOutputs(void);
|
|||
void startStatusThreads(void);
|
||||
void initStatusLoop(void);
|
||||
void writeLogLine(void);
|
||||
void setFullLog(int value);
|
||||
void printOverallStatus(systime_t nowSeconds);
|
||||
|
||||
#endif /* CONSOLE_LOOP_H_ */
|
||||
|
|
|
@ -86,7 +86,7 @@ class AlternatorController : public PeriodicTimerController {
|
|||
float vBatt = getVBatt(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
float targetVoltage = engineConfiguration->targetVBatt;
|
||||
|
||||
if (CONFIGB(onOffAlternatorLogic)) {
|
||||
if (CONFIG(onOffAlternatorLogic)) {
|
||||
float h = 0.1;
|
||||
bool newState = (vBatt < targetVoltage - h) || (currentPlainOnOffState && vBatt < targetVoltage);
|
||||
enginePins.alternatorPin.setValue(newState);
|
||||
|
@ -102,7 +102,7 @@ class AlternatorController : public PeriodicTimerController {
|
|||
|
||||
|
||||
currentAltDuty = alternatorPid.getOutput(targetVoltage, vBatt);
|
||||
if (CONFIGB(isVerboseAlternator)) {
|
||||
if (CONFIG(isVerboseAlternator)) {
|
||||
scheduleMsg(logger, "alt duty: %.2f/vbatt=%.2f/p=%.2f/i=%.2f/d=%.2f int=%.2f", currentAltDuty, vBatt,
|
||||
alternatorPid.getP(), alternatorPid.getI(), alternatorPid.getD(), alternatorPid.getIntegration());
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ static AlternatorController instance;
|
|||
|
||||
void showAltInfo(void) {
|
||||
scheduleMsg(logger, "alt=%s @%s t=%dms", boolToString(engineConfiguration->isAlternatorControlEnabled),
|
||||
hwPortname(CONFIGB(alternatorControlPin)),
|
||||
hwPortname(CONFIG(alternatorControlPin)),
|
||||
engineConfiguration->alternatorControl.periodMs);
|
||||
scheduleMsg(logger, "p=%.2f/i=%.2f/d=%.2f offset=%.2f", engineConfiguration->alternatorControl.pFactor,
|
||||
0, 0, engineConfiguration->alternatorControl.offset); // todo: i & d
|
||||
|
@ -160,17 +160,17 @@ void onConfigurationChangeAlternatorCallback(engine_configuration_s *previousCon
|
|||
void initAlternatorCtrl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
logger = sharedLogger;
|
||||
addConsoleAction("altinfo", showAltInfo);
|
||||
if (CONFIGB(alternatorControlPin) == GPIO_UNASSIGNED)
|
||||
if (CONFIG(alternatorControlPin) == GPIO_UNASSIGNED)
|
||||
return;
|
||||
|
||||
if (CONFIGB(onOffAlternatorLogic)) {
|
||||
enginePins.alternatorPin.initPin("on/off alternator", CONFIGB(alternatorControlPin));
|
||||
if (CONFIG(onOffAlternatorLogic)) {
|
||||
enginePins.alternatorPin.initPin("on/off alternator", CONFIG(alternatorControlPin));
|
||||
|
||||
} else {
|
||||
startSimplePwmExt(&alternatorControl,
|
||||
"Alternator control",
|
||||
&engine->executor,
|
||||
CONFIGB(alternatorControlPin),
|
||||
CONFIG(alternatorControlPin),
|
||||
&enginePins.alternatorPin,
|
||||
engineConfiguration->alternatorPwmFrequency, 0.1, (pwm_gen_callback*)applyAlternatorPinState);
|
||||
}
|
||||
|
|
|
@ -180,9 +180,24 @@ static percent_t currentEtbDuty;
|
|||
// this macro clamps both positive and negative percentages from about -100% to 100%
|
||||
#define ETB_PERCENT_TO_DUTY(X) (maxF(minF((X * 0.01), ETB_DUTY_LIMIT - 0.01), 0.01 - ETB_DUTY_LIMIT))
|
||||
|
||||
void EtbController::init(DcMotor *motor, int ownIndex) {
|
||||
this->m_motor = motor;
|
||||
this->ownIndex = ownIndex;
|
||||
void EtbController::init(DcMotor *motor, int ownIndex, pid_s *pidParameters) {
|
||||
m_motor = motor;
|
||||
m_myIndex = ownIndex;
|
||||
m_pid.initPidClass(pidParameters);
|
||||
}
|
||||
|
||||
void EtbController::reset() {
|
||||
m_shouldResetPid = true;
|
||||
}
|
||||
|
||||
void EtbController::onConfigurationChange(pid_s* previousConfiguration) {
|
||||
if (m_pid.isSame(previousConfiguration)) {
|
||||
m_shouldResetPid = true;
|
||||
}
|
||||
}
|
||||
|
||||
void EtbController::showStatus(Logging* logger) {
|
||||
m_pid.showPidStatus(logger, "ETB");
|
||||
}
|
||||
|
||||
int EtbController::getPeriodMs() {
|
||||
|
@ -190,18 +205,19 @@ int EtbController::getPeriodMs() {
|
|||
}
|
||||
|
||||
void EtbController::PeriodicTask() {
|
||||
#if EFI_TUNER_STUDIO
|
||||
// Only debug throttle #0
|
||||
if (m_myIndex == 0) {
|
||||
// set debug_mode 17
|
||||
if (engineConfiguration->debugMode == DBG_ELECTRONIC_THROTTLE_PID) {
|
||||
#if EFI_TUNER_STUDIO
|
||||
etbPid.postState(&tsOutputChannels);
|
||||
m_pid.postState(&tsOutputChannels);
|
||||
tsOutputChannels.debugIntField5 = engine->engineState.etbFeedForward;
|
||||
#endif /* EFI_TUNER_STUDIO */
|
||||
} else if (engineConfiguration->debugMode == DBG_ELECTRONIC_THROTTLE_EXTRA) {
|
||||
#if EFI_TUNER_STUDIO
|
||||
// set debug_mode 29
|
||||
tsOutputChannels.debugFloatField1 = directPwmValue;
|
||||
#endif /* EFI_TUNER_STUDIO */
|
||||
}
|
||||
}
|
||||
#endif /* EFI_TUNER_STUDIO */
|
||||
|
||||
if (!m_motor) {
|
||||
return;
|
||||
|
@ -212,9 +228,9 @@ void EtbController::PeriodicTask() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (shouldResetPid) {
|
||||
etbPid.reset();
|
||||
shouldResetPid = false;
|
||||
if (m_shouldResetPid) {
|
||||
m_pid.reset();
|
||||
m_shouldResetPid = false;
|
||||
}
|
||||
|
||||
if (!cisnan(directPwmValue)) {
|
||||
|
@ -222,12 +238,12 @@ void EtbController::PeriodicTask() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (boardConfiguration->pauseEtbControl) {
|
||||
if (engineConfiguration->pauseEtbControl) {
|
||||
m_motor->set(0);
|
||||
return;
|
||||
}
|
||||
|
||||
percent_t actualThrottlePosition = getTPSWithIndex(ownIndex PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
percent_t actualThrottlePosition = getTPSWithIndex(m_myIndex PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
if (engine->etbAutoTune) {
|
||||
autoTune.input = actualThrottlePosition;
|
||||
|
@ -254,7 +270,7 @@ void EtbController::PeriodicTask() {
|
|||
|
||||
int rpm = GET_RPM();
|
||||
engine->engineState.targetFromTable = pedal2tpsMap.getValue(rpm / RPM_1_BYTE_PACKING_MULT, pedalPosition);
|
||||
percent_t etbIdleAddition = CONFIGB(useETBforIdleControl) ? engine->engineState.idle.etbIdleAddition : 0;
|
||||
percent_t etbIdleAddition = CONFIG(useETBforIdleControl) ? engine->engineState.idle.etbIdleAddition : 0;
|
||||
percent_t targetPosition = engine->engineState.targetFromTable + etbIdleAddition;
|
||||
|
||||
if (engineConfiguration->debugMode == DBG_ETB_LOGIC) {
|
||||
|
@ -271,16 +287,16 @@ void EtbController::PeriodicTask() {
|
|||
}
|
||||
engine->engineState.etbFeedForward = interpolate2d("etbb", targetPosition, engineConfiguration->etbBiasBins, engineConfiguration->etbBiasValues);
|
||||
|
||||
etbPid.iTermMin = engineConfiguration->etb_iTermMin;
|
||||
etbPid.iTermMax = engineConfiguration->etb_iTermMax;
|
||||
m_pid.iTermMin = engineConfiguration->etb_iTermMin;
|
||||
m_pid.iTermMax = engineConfiguration->etb_iTermMax;
|
||||
|
||||
currentEtbDuty = engine->engineState.etbFeedForward +
|
||||
etbPid.getOutput(targetPosition, actualThrottlePosition);
|
||||
m_pid.getOutput(targetPosition, actualThrottlePosition);
|
||||
|
||||
m_motor->set(ETB_PERCENT_TO_DUTY(currentEtbDuty));
|
||||
|
||||
if (engineConfiguration->isVerboseETB) {
|
||||
etbPid.showPidStatus(&logger, "ETB");
|
||||
m_pid.showPidStatus(&logger, "ETB");
|
||||
}
|
||||
|
||||
DISPLAY_STATE(Engine)
|
||||
|
@ -323,6 +339,9 @@ DISPLAY(DISPLAY_IF(hasEtbPedalPositionSensor))
|
|||
/* DISPLAY_ELSE */
|
||||
DISPLAY_TEXT(No_Pedal_Sensor);
|
||||
/* DISPLAY_ENDIF */
|
||||
|
||||
// Only report the 0th throttle
|
||||
if (m_myIndex == 0) {
|
||||
#if EFI_TUNER_STUDIO
|
||||
// 312
|
||||
tsOutputChannels.etbTarget = targetPosition;
|
||||
|
@ -332,39 +351,18 @@ DISPLAY(DISPLAY_IF(hasEtbPedalPositionSensor))
|
|||
// Error is positive if the throttle needs to open further
|
||||
tsOutputChannels.etb1Error = targetPosition - actualThrottlePosition;
|
||||
#endif /* EFI_TUNER_STUDIO */
|
||||
}
|
||||
}
|
||||
|
||||
static EtbHardware etbHardware[ETB_COUNT];
|
||||
EtbController etbController[ETB_COUNT];
|
||||
|
||||
/**
|
||||
* At the moment there are TWO ways to use this
|
||||
* set_etb_duty X
|
||||
* set etb X
|
||||
* manual duty cycle control without PID. Percent value from 0 to 100
|
||||
*/
|
||||
void setThrottleDutyCycle(percent_t level) {
|
||||
scheduleMsg(&logger, "setting ETB duty=%f%%", level);
|
||||
if (cisnan(level)) {
|
||||
directPwmValue = NAN;
|
||||
return;
|
||||
}
|
||||
|
||||
float dc = ETB_PERCENT_TO_DUTY(level);
|
||||
directPwmValue = dc;
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
etbHardware[i].dcMotor.set(dc);
|
||||
}
|
||||
scheduleMsg(&logger, "duty ETB duty=%f", dc);
|
||||
}
|
||||
|
||||
static bool etbOperational = false;
|
||||
// real implementation (we mock for some unit tests)
|
||||
EtbController etbControllers[ETB_COUNT];
|
||||
|
||||
static void showEthInfo(void) {
|
||||
#if EFI_PROD_CODE
|
||||
static char pinNameBuffer[16];
|
||||
|
||||
if (!etbOperational) {
|
||||
if (engine->etbActualCount == 0) {
|
||||
scheduleMsg(&logger, "ETB DISABLED since no PPS");
|
||||
}
|
||||
|
||||
|
@ -387,28 +385,50 @@ static void showEthInfo(void) {
|
|||
scheduleMsg(&logger, "dir1=%s", hwPortname(CONFIG(etbIo[0].directionPin1)));
|
||||
scheduleMsg(&logger, "dir2=%s", hwPortname(CONFIG(etbIo[0].directionPin2)));
|
||||
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
EtbHardware *etb = &etbHardware[i];
|
||||
|
||||
scheduleMsg(&logger, "%d: dir=%d DC=%f", i, etb->dcMotor.isOpenDirection(), etb->dcMotor.get());
|
||||
scheduleMsg(&logger, "ETB %d", i);
|
||||
scheduleMsg(&logger, "Motor: dir=%d DC=%f", etb->dcMotor.isOpenDirection(), etb->dcMotor.get());
|
||||
etbControllers[i].showStatus(&logger);
|
||||
}
|
||||
|
||||
etbController[0].etbPid.showPidStatus(&logger, "ETB");
|
||||
#endif /* EFI_PROD_CODE */
|
||||
}
|
||||
|
||||
static void etbPidReset() {
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
etbController[i].etbPid.reset();
|
||||
static void etbPidReset(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
engine->etbControllers[i]->reset();
|
||||
}
|
||||
}
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
#if !EFI_UNIT_TEST
|
||||
|
||||
/**
|
||||
* At the moment there are TWO ways to use this
|
||||
* set_etb_duty X
|
||||
* set etb X
|
||||
* manual duty cycle control without PID. Percent value from 0 to 100
|
||||
*/
|
||||
void setThrottleDutyCycle(percent_t level) {
|
||||
scheduleMsg(&logger, "setting ETB duty=%f%%", level);
|
||||
if (cisnan(level)) {
|
||||
directPwmValue = NAN;
|
||||
return;
|
||||
}
|
||||
|
||||
float dc = ETB_PERCENT_TO_DUTY(level);
|
||||
directPwmValue = dc;
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
etbHardware[i].dcMotor.set(dc);
|
||||
}
|
||||
scheduleMsg(&logger, "duty ETB duty=%f", dc);
|
||||
}
|
||||
|
||||
static void setEtbFrequency(int frequency) {
|
||||
engineConfiguration->etbFreq = frequency;
|
||||
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
etbHardware[i].setFrequency(frequency);
|
||||
}
|
||||
}
|
||||
|
@ -416,9 +436,10 @@ static void setEtbFrequency(int frequency) {
|
|||
static void etbReset() {
|
||||
scheduleMsg(&logger, "etbReset");
|
||||
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
etbHardware[i].dcMotor.set(0);
|
||||
}
|
||||
|
||||
etbPidReset();
|
||||
|
||||
mockPedalPosition = MOCK_UNDEFINED;
|
||||
|
@ -555,14 +576,16 @@ void stopETBPins(void) {
|
|||
#endif /* EFI_PROD_CODE */
|
||||
|
||||
void onConfigurationChangeElectronicThrottleCallback(engine_configuration_s *previousConfiguration) {
|
||||
bool shouldResetPid = !etbController[0].etbPid.isSame(&previousConfiguration->etb);
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
etbController[i].shouldResetPid = shouldResetPid;
|
||||
for (int i = 0; i < ETB_COUNT; i++) {
|
||||
etbControllers[i].onConfigurationChange(&previousConfiguration->etb);
|
||||
}
|
||||
}
|
||||
|
||||
void startETBPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
|
||||
/**
|
||||
* safer to start 2nd ETB even if 2nd TPS is not configured by mistake
|
||||
*/
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
etb_io *io = &engineConfiguration->etbIo[i];
|
||||
// controlPinMode is a strange feature - it's simply because I am short on 5v I/O on Frankenso with Miata NB2 test mule
|
||||
|
@ -633,10 +656,18 @@ void setDefaultEtbBiasCurve(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
}
|
||||
|
||||
void unregisterEtbPins() {
|
||||
|
||||
// todo: we probably need an implementation here?!
|
||||
}
|
||||
|
||||
void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
for (int i = 0; i < ETB_COUNT; i++) {
|
||||
engine->etbControllers[i] = &etbControllers[i];
|
||||
}
|
||||
doInitElectronicThrottle(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
}
|
||||
|
||||
void doInitElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
efiAssertVoid(OBD_PCM_Processor_Fault, engine->etbControllers != NULL, "etbControllers NULL");
|
||||
#if EFI_PROD_CODE
|
||||
addConsoleAction("ethinfo", showEthInfo);
|
||||
addConsoleAction("etbreset", etbReset);
|
||||
|
@ -644,9 +675,8 @@ void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#endif /* EFI_PROD_CODE */
|
||||
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
etbController[i].init(&etbHardware[i].dcMotor, i);
|
||||
etbController[i].etbPid.initPidClass(&engineConfiguration->etb);
|
||||
INJECT_ENGINE_REFERENCE(&etbController[i]);
|
||||
engine->etbControllers[i]->init(&etbHardware[i].dcMotor, i, &engineConfiguration->etb);
|
||||
INJECT_ENGINE_REFERENCE(engine->etbControllers[i]);
|
||||
}
|
||||
|
||||
|
||||
|
@ -656,7 +686,8 @@ void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
if (!engine->engineState.hasEtbPedalPositionSensor) {
|
||||
return;
|
||||
}
|
||||
etbOperational = true;
|
||||
engine->etbActualCount = hasTps2(PASS_ENGINE_PARAMETER_SIGNATURE) ? 2 : 1;
|
||||
|
||||
#if 0
|
||||
// not alive code
|
||||
autoTune.SetOutputStep(0.1);
|
||||
|
@ -680,7 +711,7 @@ void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#if EFI_PROD_CODE
|
||||
if (engineConfiguration->etbCalibrationOnStart) {
|
||||
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
EtbHardware *etb = &etbHardware[i];
|
||||
|
||||
etb->dcMotor.set(70);
|
||||
|
@ -717,12 +748,13 @@ void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#endif /* EFI_PROD_CODE */
|
||||
|
||||
|
||||
etbPidReset();
|
||||
etbPidReset(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
for (int i = 0 ; i < ETB_COUNT; i++) {
|
||||
etbController[i].Start();
|
||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||
engine->etbControllers[i]->Start();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
|
||||
|
||||
|
|
|
@ -15,23 +15,44 @@
|
|||
#include "periodic_task.h"
|
||||
|
||||
class DcMotor;
|
||||
class Logging;
|
||||
|
||||
class EtbController final : public PeriodicTimerController {
|
||||
class IEtbController : public PeriodicTimerController{
|
||||
public:
|
||||
DECLARE_ENGINE_PTR;
|
||||
void init(DcMotor *motor, int ownIndex);
|
||||
virtual void init(DcMotor *motor, int ownIndex, pid_s *pidParameters) = 0;
|
||||
virtual void reset() = 0;
|
||||
};
|
||||
|
||||
class EtbController final : public IEtbController {
|
||||
public:
|
||||
void init(DcMotor *motor, int ownIndex, pid_s *pidParameters) override;
|
||||
|
||||
// PeriodicTimerController implementation
|
||||
int getPeriodMs() override;
|
||||
void PeriodicTask() override;
|
||||
Pid etbPid;
|
||||
bool shouldResetPid = false;
|
||||
void reset() override;
|
||||
|
||||
// Called when the configuration may have changed. Controller will
|
||||
// reset if necessary.
|
||||
void onConfigurationChange(pid_s* previousConfiguration);
|
||||
|
||||
// Print this throttle's status.
|
||||
void showStatus(Logging* logger);
|
||||
|
||||
// Used to inspect the internal PID controller's state
|
||||
const pid_state_s* getPidState() const { return &m_pid; };
|
||||
|
||||
private:
|
||||
int ownIndex;
|
||||
int m_myIndex;
|
||||
DcMotor *m_motor;
|
||||
Pid m_pid;
|
||||
bool m_shouldResetPid = false;
|
||||
};
|
||||
|
||||
void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
void doInitElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
void setDefaultEtbBiasCurve(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setDefaultEtbParameters(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setBoschVNH2SP30Curve(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
|
|
@ -112,18 +112,18 @@ void idleDebug(const char *msg, percent_t value) {
|
|||
static void showIdleInfo(void) {
|
||||
const char * idleModeStr = getIdle_mode_e(engineConfiguration->idleMode);
|
||||
scheduleMsg(logger, "idleMode=%s position=%.2f isStepper=%s", idleModeStr,
|
||||
getIdlePosition(), boolToString(CONFIGB(useStepperIdle)));
|
||||
getIdlePosition(), boolToString(CONFIG(useStepperIdle)));
|
||||
|
||||
if (CONFIGB(useStepperIdle)) {
|
||||
scheduleMsg(logger, "directionPin=%s reactionTime=%.2f", hwPortname(CONFIGB(idle).stepperDirectionPin),
|
||||
if (CONFIG(useStepperIdle)) {
|
||||
scheduleMsg(logger, "directionPin=%s reactionTime=%.2f", hwPortname(CONFIG(idle).stepperDirectionPin),
|
||||
engineConfiguration->idleStepperReactionTime);
|
||||
scheduleMsg(logger, "stepPin=%s steps=%d", hwPortname(CONFIGB(idle).stepperStepPin),
|
||||
scheduleMsg(logger, "stepPin=%s steps=%d", hwPortname(CONFIG(idle).stepperStepPin),
|
||||
engineConfiguration->idleStepperTotalSteps);
|
||||
scheduleMsg(logger, "enablePin=%s/%d", hwPortname(engineConfiguration->stepperEnablePin),
|
||||
engineConfiguration->stepperEnablePinMode);
|
||||
} else {
|
||||
scheduleMsg(logger, "idle valve freq=%d on %s", CONFIGB(idle).solenoidFrequency,
|
||||
hwPortname(CONFIGB(idle).solenoidPin));
|
||||
scheduleMsg(logger, "idle valve freq=%d on %s", CONFIG(idle).solenoidFrequency,
|
||||
hwPortname(CONFIG(idle).solenoidPin));
|
||||
}
|
||||
|
||||
|
||||
|
@ -138,10 +138,10 @@ void setIdleMode(idle_mode_e value) {
|
|||
}
|
||||
|
||||
static void applyIACposition(percent_t position) {
|
||||
if (CONFIGB(useETBforIdleControl)) {
|
||||
if (CONFIG(useETBforIdleControl)) {
|
||||
engine->engineState.idle.etbIdleAddition = position / 100 * CONFIG(etbIdleThrottleRange);
|
||||
#if ! EFI_UNIT_TEST
|
||||
} if (CONFIGB(useStepperIdle)) {
|
||||
} if (CONFIG(useStepperIdle)) {
|
||||
iacMotor.setTargetPosition(position / 100 * engineConfiguration->idleStepperTotalSteps);
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
} else {
|
||||
|
@ -165,14 +165,14 @@ void setIdleValvePosition(int positionPercent) {
|
|||
showIdleInfo();
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
// todo: this is not great that we have to write into configuration here
|
||||
CONFIGB(manIdlePosition) = positionPercent;
|
||||
CONFIG(manIdlePosition) = positionPercent;
|
||||
}
|
||||
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
||||
static percent_t manualIdleController(float cltCorrection DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
|
||||
percent_t correctedPosition = cltCorrection * CONFIGB(manIdlePosition);
|
||||
percent_t correctedPosition = cltCorrection * CONFIG(manIdlePosition);
|
||||
|
||||
// let's put the value into the right range
|
||||
correctedPosition = maxF(correctedPosition, 0.01);
|
||||
|
@ -223,7 +223,7 @@ static bool isOutOfAutomaticIdleCondition(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
inputPosition = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
}
|
||||
|
||||
return inputPosition > CONFIGB(idlePidDeactivationTpsThreshold);
|
||||
return inputPosition > CONFIG(idlePidDeactivationTpsThreshold);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -287,7 +287,7 @@ static percent_t automaticIdleController(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
// Apply PID Deactivation Threshold as a smooth taper for TPS transients.
|
||||
percent_t tpsPos = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
// if tps==0 then PID just works as usual, or we completely disable it if tps>=threshold
|
||||
newValue = interpolateClamped(0.0f, newValue, CONFIGB(idlePidDeactivationTpsThreshold), engine->engineState.idle.baseIdlePosition, tpsPos);
|
||||
newValue = interpolateClamped(0.0f, newValue, CONFIG(idlePidDeactivationTpsThreshold), engine->engineState.idle.baseIdlePosition, tpsPos);
|
||||
|
||||
// Interpolate to the manual position when RPM is close to the upper RPM limit (if idlePidRpmUpperLimit is set).
|
||||
// If RPM increases and the throttle is closed, then we're in coasting mode, and we should smoothly disable auto-pid.
|
||||
|
@ -297,7 +297,7 @@ static percent_t automaticIdleController(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
int idlePidLowerRpm = targetRpm + CONFIG(idlePidRpmDeadZone);
|
||||
if (CONFIG(idlePidRpmUpperLimit) > 0) {
|
||||
engine->engineState.idle.idleState = PID_UPPER;
|
||||
if (CONFIGB(useIacTableForCoasting) && hasCltSensor()) {
|
||||
if (CONFIG(useIacTableForCoasting) && hasCltSensor()) {
|
||||
percent_t iacPosForCoasting = interpolate2d("iacCoasting", getCoolantTemperature(), CONFIG(iacCoastingBins), CONFIG(iacCoasting));
|
||||
newValue = interpolateClamped(idlePidLowerRpm, newValue, idlePidLowerRpm + CONFIG(idlePidRpmUpperLimit), iacPosForCoasting, rpm);
|
||||
} else {
|
||||
|
@ -341,8 +341,8 @@ static percent_t automaticIdleController(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
#if EFI_GPIO_HARDWARE
|
||||
// this value is not used yet
|
||||
if (CONFIGB(clutchDownPin) != GPIO_UNASSIGNED) {
|
||||
engine->clutchDownState = efiReadPin(CONFIGB(clutchDownPin));
|
||||
if (CONFIG(clutchDownPin) != GPIO_UNASSIGNED) {
|
||||
engine->clutchDownState = efiReadPin(CONFIG(clutchDownPin));
|
||||
}
|
||||
if (hasAcToggle(PASS_ENGINE_PARAMETER_SIGNATURE)) {
|
||||
bool result = getAcToggle(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
@ -412,7 +412,7 @@ static percent_t automaticIdleController(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
percent_t tpsPos = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
float additionalAir = (float)engineConfiguration->iacByTpsTaper;
|
||||
iacPosition += interpolateClamped(0.0f, 0.0f, CONFIGB(idlePidDeactivationTpsThreshold), additionalAir, tpsPos);
|
||||
iacPosition += interpolateClamped(0.0f, 0.0f, CONFIG(idlePidDeactivationTpsThreshold), additionalAir, tpsPos);
|
||||
|
||||
// taper transition from cranking to running (uint32_t to float conversion is safe here)
|
||||
if (engineConfiguration->afterCrankingIACtaperDuration > 0)
|
||||
|
@ -472,7 +472,7 @@ void setDefaultIdleParameters(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
void onConfigurationChangeIdleCallback(engine_configuration_s *previousConfiguration) {
|
||||
shouldResetPid = !idlePid.isSame(&previousConfiguration->idleRpmPid);
|
||||
idleSolenoid.setFrequency(CONFIGB(idle).solenoidFrequency);
|
||||
idleSolenoid.setFrequency(CONFIG(idle).solenoidFrequency);
|
||||
}
|
||||
|
||||
void setTargetIdleRpm(int value) {
|
||||
|
@ -534,31 +534,31 @@ static void applyIdleSolenoidPinState(int stateIndex, PwmConfig *state) /* pwm_g
|
|||
bool isIdleHardwareRestartNeeded() {
|
||||
return isConfigurationChanged(stepperEnablePin) ||
|
||||
isConfigurationChanged(stepperEnablePinMode) ||
|
||||
isConfigurationChanged(bc.idle.stepperStepPin) ||
|
||||
isConfigurationChanged(bc.idle.solenoidFrequency) ||
|
||||
isConfigurationChanged(bc.useStepperIdle) ||
|
||||
isConfigurationChanged(idle.stepperStepPin) ||
|
||||
isConfigurationChanged(idle.solenoidFrequency) ||
|
||||
isConfigurationChanged(useStepperIdle) ||
|
||||
// isConfigurationChanged() ||
|
||||
isConfigurationChanged(bc.useETBforIdleControl) ||
|
||||
isConfigurationChanged(bc.idle.solenoidPin);
|
||||
isConfigurationChanged(useETBforIdleControl) ||
|
||||
isConfigurationChanged(idle.solenoidPin);
|
||||
|
||||
}
|
||||
|
||||
void stopIdleHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
#if EFI_PROD_CODE
|
||||
brain_pin_markUnused(activeConfiguration.stepperEnablePin);
|
||||
brain_pin_markUnused(activeConfiguration.bc.idle.stepperStepPin);
|
||||
brain_pin_markUnused(activeConfiguration.bc.idle.solenoidPin);
|
||||
// brain_pin_markUnused(activeConfiguration.bc.idle.);
|
||||
// brain_pin_markUnused(activeConfiguration.bc.idle.);
|
||||
// brain_pin_markUnused(activeConfiguration.bc.idle.);
|
||||
// brain_pin_markUnused(activeConfiguration.bc.idle.);
|
||||
brain_pin_markUnused(activeConfiguration.idle.stepperStepPin);
|
||||
brain_pin_markUnused(activeConfiguration.idle.solenoidPin);
|
||||
// brain_pin_markUnused(activeConfiguration.idle.);
|
||||
// brain_pin_markUnused(activeConfiguration.idle.);
|
||||
// brain_pin_markUnused(activeConfiguration.idle.);
|
||||
// brain_pin_markUnused(activeConfiguration.idle.);
|
||||
#endif /* EFI_PROD_CODE */
|
||||
}
|
||||
|
||||
void initIdleHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
if (CONFIGB(useStepperIdle)) {
|
||||
iacMotor.initialize(CONFIGB(idle).stepperStepPin,
|
||||
CONFIGB(idle).stepperDirectionPin,
|
||||
if (CONFIG(useStepperIdle)) {
|
||||
iacMotor.initialize(CONFIG(idle).stepperStepPin,
|
||||
CONFIG(idle).stepperDirectionPin,
|
||||
engineConfiguration->stepperDirectionPinMode,
|
||||
engineConfiguration->idleStepperReactionTime,
|
||||
engineConfiguration->idleStepperTotalSteps,
|
||||
|
@ -566,14 +566,14 @@ void initIdleHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
logger);
|
||||
// This greatly improves PID accuracy for steppers with a small number of steps
|
||||
idlePositionSensitivityThreshold = 1.0f / engineConfiguration->idleStepperTotalSteps;
|
||||
} else if (!engineConfiguration->bc.useETBforIdleControl) {
|
||||
} else if (!engineConfiguration->useETBforIdleControl) {
|
||||
/**
|
||||
* Start PWM for idleValvePin
|
||||
*/
|
||||
startSimplePwmExt(&idleSolenoid, "Idle Valve",
|
||||
&engine->executor,
|
||||
CONFIGB(idle).solenoidPin, &enginePins.idleSolenoidPin,
|
||||
CONFIGB(idle).solenoidFrequency, CONFIGB(manIdlePosition) / 100,
|
||||
CONFIG(idle).solenoidPin, &enginePins.idleSolenoidPin,
|
||||
CONFIG(idle).solenoidFrequency, CONFIG(manIdlePosition) / 100,
|
||||
(pwm_gen_callback*)applyIdleSolenoidPinState);
|
||||
idlePositionSensitivityThreshold = 0.0f;
|
||||
}
|
||||
|
@ -642,9 +642,9 @@ void startIdleThread(Logging*sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
#if ! EFI_UNIT_TEST
|
||||
// this is neutral/no gear switch input. on Miata it's wired both to clutch pedal and neutral in gearbox
|
||||
// this switch is not used yet
|
||||
if (CONFIGB(clutchDownPin) != GPIO_UNASSIGNED) {
|
||||
efiSetPadMode("clutch down switch", CONFIGB(clutchDownPin),
|
||||
getInputMode(CONFIGB(clutchDownPinMode)));
|
||||
if (CONFIG(clutchDownPin) != GPIO_UNASSIGNED) {
|
||||
efiSetPadMode("clutch down switch", CONFIG(clutchDownPin),
|
||||
getInputMode(CONFIG(clutchDownPinMode)));
|
||||
}
|
||||
|
||||
if (CONFIG(clutchUpPin) != GPIO_UNASSIGNED) {
|
||||
|
@ -654,7 +654,7 @@ void startIdleThread(Logging*sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
|
||||
if (CONFIG(throttlePedalUpPin) != GPIO_UNASSIGNED) {
|
||||
efiSetPadMode("throttle pedal up switch", CONFIG(throttlePedalUpPin),
|
||||
getInputMode(CONFIGB(throttlePedalUpPinMode)));
|
||||
getInputMode(CONFIG(throttlePedalUpPinMode)));
|
||||
}
|
||||
|
||||
if (engineConfiguration->brakePedalPin != GPIO_UNASSIGNED) {
|
||||
|
|
|
@ -35,7 +35,7 @@ static void startPwmTest(int freq) {
|
|||
/**
|
||||
* See custom_engine.cpp for pinout
|
||||
*/
|
||||
// currently this is PB9 by default - see CONFIGB(injectionPins)
|
||||
// currently this is PB9 by default - see CONFIG(injectionPins)
|
||||
startSimplePwm(&pwmTest[1], "tester", &enginePins.injectors[0], freq / 1.3333333333, 0.5f, applyPinState);
|
||||
// currently this is PE2 by default
|
||||
startSimplePwm(&pwmTest[2], "tester", &enginePins.injectors[1], freq / 1000, 0.5f, applyPinState);
|
||||
|
|
|
@ -68,7 +68,7 @@ static const ignition_table_t defaultIatTiming = {
|
|||
#endif /* IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT */
|
||||
|
||||
bool isStep1Condition(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
return CONFIGB(enabledStep1Limiter) && rpm >= engineConfiguration->step1rpm;
|
||||
return CONFIG(enabledStep1Limiter) && rpm >= engineConfiguration->step1rpm;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -104,7 +104,7 @@ static angle_t getRunningAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAME
|
|||
float idleAdvance = interpolate2d("idleAdvance", rpm, config->idleAdvanceBins, config->idleAdvance);
|
||||
// interpolate between idle table and normal (running) table using TPS threshold
|
||||
float tps = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
advanceAngle = interpolateClamped(0.0f, idleAdvance, CONFIGB(idlePidDeactivationTpsThreshold), advanceAngle, tps);
|
||||
advanceAngle = interpolateClamped(0.0f, idleAdvance, CONFIG(idlePidDeactivationTpsThreshold), advanceAngle, tps);
|
||||
}
|
||||
|
||||
engine->m.advanceLookupTime = getTimeNowLowerNt() - engine->m.beforeAdvance;
|
||||
|
@ -120,11 +120,11 @@ angle_t getAdvanceCorrections(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
}
|
||||
// PID Ignition Advance angle correction
|
||||
float pidTimingCorrection = 0.0f;
|
||||
if (CONFIGB(useIdleTimingPidControl)) {
|
||||
if (CONFIG(useIdleTimingPidControl)) {
|
||||
int targetRpm = getTargetRpmForIdleCorrection(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
int rpmDelta = absI(rpm - targetRpm);
|
||||
float tps = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
if (tps >= CONFIGB(idlePidDeactivationTpsThreshold)) {
|
||||
if (tps >= CONFIG(idlePidDeactivationTpsThreshold)) {
|
||||
// we are not in the idle mode anymore, so the 'reset' flag will help us when we return to the idle.
|
||||
shouldResetTimingPid = true;
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ angle_t getAdvanceCorrections(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
percent_t timingRawCorr = idleTimingPid.getOutput(targetRpm, rpm,
|
||||
/* is this the right dTime? this period is not exactly the period at which this code is invoked*/engineConfiguration->idleTimingPid.periodMs);
|
||||
// tps idle-running falloff
|
||||
pidTimingCorrection = interpolateClamped(0.0f, timingRawCorr, CONFIGB(idlePidDeactivationTpsThreshold), 0.0f, tps);
|
||||
pidTimingCorrection = interpolateClamped(0.0f, timingRawCorr, CONFIG(idlePidDeactivationTpsThreshold), 0.0f, tps);
|
||||
// rpm falloff
|
||||
pidTimingCorrection = interpolateClamped(0.0f, pidTimingCorrection, CONFIG(idlePidFalloffDeltaRpm), 0.0f, rpmDelta - CONFIG(idleTimingPidWorkZone));
|
||||
} else {
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
* @file algo.cpp
|
||||
*
|
||||
* @date Mar 2, 2014
|
||||
* @author Andrey Belomutskiy, (c) 2012-2018
|
||||
*
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
* rusEfi is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "globalaccess.h"
|
||||
#include "algo.h"
|
||||
#include "advance_map.h"
|
||||
#include "fuel_math.h"
|
||||
#include "settings.h"
|
||||
#include "speed_density.h"
|
||||
#include "fsio_impl.h"
|
||||
|
||||
EXTERN_ENGINE;
|
||||
|
||||
void initDataStructures(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
initFuelMap(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
initTimingMap(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
initSpeedDensity(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
}
|
||||
|
||||
void initAlgo(Logging *sharedLogger) {
|
||||
initInterpolation(sharedLogger);
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
/*
|
||||
* @file algo.h
|
||||
*
|
||||
* @date Mar 2, 2014
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "engine_configuration.h"
|
||||
void initDataStructures(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
void initAlgo(Logging *sharedLogger);
|
|
@ -10,4 +10,3 @@ CONTROLLERS_ALGO_SRC_CPP = $(PROJECT_DIR)/controllers/algo/advance_map.cpp \
|
|||
$(PROJECT_DIR)/controllers/algo/engine2.cpp \
|
||||
$(PROJECT_DIR)/controllers/gauges/lcd_menu_tree.cpp \
|
||||
$(PROJECT_DIR)/controllers/algo/event_registry.cpp \
|
||||
$(PROJECT_DIR)/controllers/algo/algo.cpp \
|
||||
|
|
|
@ -733,8 +733,8 @@ case HONDA_ACCORD_CD_TWO_WIRES:
|
|||
return "HONDA_ACCORD_CD_TWO_WIRES";
|
||||
case LADA_KALINA:
|
||||
return "LADA_KALINA";
|
||||
case MAZDA_323:
|
||||
return "MAZDA_323";
|
||||
case MRE_MIATA_NB2_MTB:
|
||||
return "MRE_MIATA_NB2_MTB";
|
||||
case MAZDA_626:
|
||||
return "MAZDA_626";
|
||||
case MAZDA_MIATA_2003:
|
||||
|
@ -803,6 +803,8 @@ case TOYOTA_JZS147:
|
|||
return "TOYOTA_JZS147";
|
||||
case VAG_18_TURBO:
|
||||
return "VAG_18_TURBO";
|
||||
case VW_B6:
|
||||
return "VW_B6";
|
||||
case VW_ABA:
|
||||
return "VW_ABA";
|
||||
case ZIL_130:
|
||||
|
|
|
@ -43,6 +43,12 @@ LoggingWithStorage engineLogger("engine");
|
|||
EXTERN_ENGINE
|
||||
;
|
||||
|
||||
#if EFI_ENGINE_SNIFFER
|
||||
#include "engine_sniffer.h"
|
||||
extern int waveChartUsedSize;
|
||||
extern WaveChart waveChart;
|
||||
#endif /* EFI_ENGINE_SNIFFER */
|
||||
|
||||
FsioState::FsioState() {
|
||||
#if EFI_ENABLE_ENGINE_WARNING
|
||||
isEngineWarning = FALSE;
|
||||
|
@ -52,6 +58,16 @@ FsioState::FsioState() {
|
|||
#endif
|
||||
}
|
||||
|
||||
void Engine::resetEngineSnifferIfInTestMode() {
|
||||
#if EFI_ENGINE_SNIFFER
|
||||
if (isTestMode) {
|
||||
// TODO: what is the exact reasoning for the exact engine sniffer pause time I wonder
|
||||
waveChart.pauseEngineSnifferUntilNt = getTimeNowNt() + MS2NT(300);
|
||||
waveChart.reset();
|
||||
}
|
||||
#endif /* EFI_ENGINE_SNIFFER */
|
||||
}
|
||||
|
||||
void Engine::initializeTriggerWaveform(Logging *logger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
|
||||
// we have a confusing threading model so some synchronization would not hurt
|
||||
|
@ -130,7 +146,7 @@ void Engine::periodicSlowCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
if (CONFIG(useTLE8888_cranking_hack) && ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE)) {
|
||||
efitick_t nowNt = getTimeNowNt();
|
||||
if (nowNt - tle8888CrankingResetTime > US2NT(MS2US(300))) {
|
||||
if (nowNt - tle8888CrankingResetTime > MS2NT(300)) {
|
||||
requestTLE8888initialization();
|
||||
// let's reset TLE8888 every 300ms while cranking since that's the best we can do to deal with undervoltage reset
|
||||
// PS: oh yes, it's a horrible design! Please suggest something better!
|
||||
|
@ -155,15 +171,15 @@ void Engine::updateSlowSensors(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#if EFI_ENGINE_CONTROL
|
||||
int rpm = GET_RPM();
|
||||
isEngineChartEnabled = CONFIG(isEngineChartEnabled) && rpm < CONFIG(engineSnifferRpmThreshold);
|
||||
sensorChartMode = rpm < CONFIG(sensorSnifferRpmThreshold) ? CONFIGB(sensorChartMode) : SC_OFF;
|
||||
sensorChartMode = rpm < CONFIG(sensorSnifferRpmThreshold) ? CONFIG(sensorChartMode) : SC_OFF;
|
||||
|
||||
engineState.updateSlowSensors(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
// todo: move this logic somewhere to sensors folder?
|
||||
if (CONFIG(fuelLevelSensor) != EFI_ADC_NONE) {
|
||||
float fuelLevelVoltage = getVoltageDivided("fuel", engineConfiguration->fuelLevelSensor PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
sensors.fuelTankLevel = interpolateMsg("fgauge", CONFIGB(fuelLevelEmptyTankVoltage), 0,
|
||||
CONFIGB(fuelLevelFullTankVoltage), 100,
|
||||
sensors.fuelTankLevel = interpolateMsg("fgauge", CONFIG(fuelLevelEmptyTankVoltage), 0,
|
||||
CONFIG(fuelLevelFullTankVoltage), 100,
|
||||
fuelLevelVoltage);
|
||||
}
|
||||
sensors.vBatt = hasVBatt(PASS_ENGINE_PARAMETER_SIGNATURE) ? getVBatt(PASS_ENGINE_PARAMETER_SIGNATURE) : 12;
|
||||
|
@ -341,7 +357,7 @@ bool Engine::isInShutdownMode() const {
|
|||
if (stopEngineRequestTimeNt == 0) // the shutdown procedure is not started
|
||||
return false;
|
||||
|
||||
const efitime_t engineStopWaitTimeoutNt = 5LL * 1000000LL;
|
||||
const efitick_t engineStopWaitTimeoutNt = 5LL * 1000000LL;
|
||||
// The engine is still spinning! Give it some time to stop (but wait no more than 5 secs)
|
||||
if (isSpinning && (getTimeNowNt() - stopEngineRequestTimeNt) < US2NT(engineStopWaitTimeoutNt))
|
||||
return true;
|
||||
|
|
|
@ -47,11 +47,15 @@ class RpmCalculator;
|
|||
|
||||
#define CYCLE_ALTERNATION 2
|
||||
|
||||
class IEtbController;
|
||||
|
||||
class Engine : public TriggerStateListener {
|
||||
public:
|
||||
explicit Engine(persistent_config_s *config);
|
||||
Engine();
|
||||
|
||||
IEtbController *etbControllers[ETB_COUNT];
|
||||
|
||||
void OnTriggerStateDecodingError() override;
|
||||
void OnTriggerStateProperState(efitick_t nowNt) override;
|
||||
|
||||
|
@ -64,7 +68,14 @@ public:
|
|||
|
||||
AuxActor auxValves[AUX_DIGITAL_VALVE_COUNT][2];
|
||||
|
||||
#if EFI_UNIT_TEST
|
||||
bool needTdcCallback = true;
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
||||
/**
|
||||
* if 2nd TPS is not configured we do not run 2nd ETB
|
||||
*/
|
||||
int etbActualCount = 0;
|
||||
|
||||
/**
|
||||
* By the way 32-bit value should hold at least 400 hours of events at 6K RPM x 12 events per revolution
|
||||
|
@ -133,16 +144,11 @@ public:
|
|||
bool isCltBroken = false;
|
||||
bool slowCallBackWasInvoked = false;
|
||||
|
||||
|
||||
// floatms_t callToPitEndTime;
|
||||
|
||||
/**
|
||||
* remote telemetry: if not zero, time to stop flashing 'CALL FROM PIT STOP' light
|
||||
* todo: looks like there is a bug here? 64 bit storage an 32 bit time logic? anyway this feature is mostly a dream at this point
|
||||
*/
|
||||
efitime_t callFromPitStopEndTime = 0;
|
||||
|
||||
// timestamp of most recent time RPM hard limit was triggered
|
||||
efitime_t rpmHardLimitTimestamp = 0;
|
||||
efitimems64_t callFromPitStopEndTime = 0;
|
||||
|
||||
/**
|
||||
* This flag indicated a big enough problem that engine control would be
|
||||
|
@ -235,6 +241,7 @@ public:
|
|||
*/
|
||||
bool isTestMode = false;
|
||||
|
||||
void resetEngineSnifferIfInTestMode();
|
||||
|
||||
/**
|
||||
* pre-calculated offset for given sequence index within engine cycle
|
||||
|
|
|
@ -205,7 +205,7 @@ void EngineState::periodicFastCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
/**
|
||||
* *0.01 because of https://sourceforge.net/p/rusefi/tickets/153/
|
||||
*/
|
||||
if (CONFIGB(useTPSBasedVeTable)) {
|
||||
if (CONFIG(useTPSBasedVeTable)) {
|
||||
// todo: should we have 'veTpsMap' fuel_Map3D_t variable here?
|
||||
currentRawVE = interpolate3d<float, float>(tps, CONFIG(ignitionTpsBins), IGN_TPS_COUNT, rpm, config->veRpmBins, FUEL_RPM_COUNT, veMap.pointers);
|
||||
} else {
|
||||
|
@ -215,7 +215,7 @@ void EngineState::periodicFastCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
if (CONFIG(useSeparateVeForIdle)) {
|
||||
float idleVe = interpolate2d("idleVe", rpm, config->idleVeBins, config->idleVe);
|
||||
// interpolate between idle table and normal (running) table using TPS threshold
|
||||
currentRawVE = interpolateClamped(0.0f, idleVe, CONFIGB(idlePidDeactivationTpsThreshold), currentRawVE, tps);
|
||||
currentRawVE = interpolateClamped(0.0f, idleVe, CONFIG(idlePidDeactivationTpsThreshold), currentRawVE, tps);
|
||||
}
|
||||
currentBaroCorrectedVE = baroCorrection * currentRawVE * PERCENT_DIV;
|
||||
targetAFR = afrMap.getValue(rpm, map);
|
||||
|
|
|
@ -57,7 +57,6 @@
|
|||
#include "mazda_miata_na8.h"
|
||||
#include "mazda_miata_nb.h"
|
||||
#include "mazda_miata_vvt.h"
|
||||
#include "mazda_323.h"
|
||||
#include "mazda_626.h"
|
||||
|
||||
#include "citroenBerlingoTU3JP.h"
|
||||
|
@ -67,6 +66,7 @@
|
|||
#include "test_engine.h"
|
||||
#include "sachs.h"
|
||||
#include "vw.h"
|
||||
#include "vw_b6.h"
|
||||
#include "daihatsu.h"
|
||||
#include "chevrolet_camaro_4.h"
|
||||
#include "suzuki_vitara.h"
|
||||
|
@ -286,7 +286,7 @@ static void initTemperatureCurve(float *bins, float *values, int size, float def
|
|||
void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) {
|
||||
efiAssertVoid(OBD_PCM_Processor_Fault, engineConfiguration != NULL, "ec NULL");
|
||||
memset(engineConfiguration, 0, sizeof(engine_configuration_s));
|
||||
board_configuration_s *boardConfiguration = &engineConfiguration->bc;
|
||||
|
||||
|
||||
// Now that GPIO_UNASSIGNED == 0 we do not really need explicit zero assignments since memset above does that
|
||||
// todo: migrate 'EFI_ADC_NONE' to '0' and eliminate the need in this method altogether
|
||||
|
@ -312,7 +312,7 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) {
|
|||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_NONE;
|
||||
*/
|
||||
engineConfiguration->tps2_1AdcChannel = EFI_ADC_NONE;
|
||||
engineConfiguration->bc.auxFastSensor1_adcChannel = EFI_ADC_NONE;
|
||||
engineConfiguration->auxFastSensor1_adcChannel = EFI_ADC_NONE;
|
||||
engineConfiguration->acSwitchAdc = EFI_ADC_NONE;
|
||||
engineConfiguration->externalKnockSenseAdc = EFI_ADC_NONE;
|
||||
engineConfiguration->fuelLevelSensor = EFI_ADC_NONE;
|
||||
|
@ -321,7 +321,7 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) {
|
|||
engineConfiguration->high_fuel_pressure_sensor_1 = EFI_ADC_NONE;
|
||||
engineConfiguration->high_fuel_pressure_sensor_2 = EFI_ADC_NONE;
|
||||
|
||||
boardConfiguration->clutchDownPinMode = PI_PULLUP;
|
||||
engineConfiguration->clutchDownPinMode = PI_PULLUP;
|
||||
engineConfiguration->clutchUpPinMode = PI_PULLUP;
|
||||
engineConfiguration->brakePedalPinMode = PI_PULLUP;
|
||||
}
|
||||
|
@ -353,12 +353,12 @@ void setDefaultBasePins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
// set UART pads configuration based on the board
|
||||
// needed also by bootloader code
|
||||
boardConfiguration->useSerialPort = true;
|
||||
engineConfiguration->useSerialPort = true;
|
||||
engineConfiguration->binarySerialTxPin = GPIOC_10;
|
||||
engineConfiguration->binarySerialRxPin = GPIOC_11;
|
||||
engineConfiguration->consoleSerialTxPin = GPIOC_10;
|
||||
engineConfiguration->consoleSerialRxPin = GPIOC_11;
|
||||
boardConfiguration->tunerStudioSerialSpeed = TS_DEFAULT_SPEED;
|
||||
engineConfiguration->tunerStudioSerialSpeed = TS_DEFAULT_SPEED;
|
||||
engineConfiguration->uartConsoleSerialSpeed = 115200;
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
|
@ -370,10 +370,10 @@ void setDefaultBasePins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// needed also by bootloader code
|
||||
// at the moment bootloader does NOT really need SD card, this is a step towards future bootloader SD card usage
|
||||
void setDefaultSdCardParameters(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
boardConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3;
|
||||
boardConfiguration->sdCardCsPin = GPIOD_4;
|
||||
boardConfiguration->isSdCardEnabled = true;
|
||||
engineConfiguration->sdCardCsPin = GPIOD_4;
|
||||
engineConfiguration->isSdCardEnabled = true;
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
// call overrided board-specific SD card configuration setup, if needed (for custom boards only)
|
||||
|
@ -431,24 +431,53 @@ static void setDefaultWarmupIdleCorrection(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
}
|
||||
|
||||
static void setDefaultWarmupFuelEnrichment(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
initTemperatureCurve(WARMUP_CLT_EXTRA_FUEL_CURVE, 1.0);
|
||||
static const float bins[] =
|
||||
{
|
||||
-40,
|
||||
-30,
|
||||
-20,
|
||||
-10,
|
||||
0,
|
||||
10,
|
||||
20,
|
||||
30,
|
||||
40,
|
||||
50,
|
||||
60,
|
||||
70,
|
||||
80,
|
||||
90,
|
||||
100,
|
||||
110
|
||||
};
|
||||
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, -40, 1.50);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, -30, 1.50);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, -20, 1.42);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, -10, 1.36);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 0, 1.28);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 10, 1.19);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 20, 1.12);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 30, 1.10);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 40, 1.06);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 50, 1.06);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 60, 1.03);
|
||||
setCurveValue(WARMUP_CLT_EXTRA_FUEL_CURVE, 70, 1.01);
|
||||
copyArray(config->cltFuelCorrBins, bins);
|
||||
|
||||
static const float values[] =
|
||||
{
|
||||
1.50,
|
||||
1.50,
|
||||
1.42,
|
||||
1.36,
|
||||
1.28,
|
||||
1.19,
|
||||
1.12,
|
||||
1.10,
|
||||
1.06,
|
||||
1.06,
|
||||
1.03,
|
||||
1.01,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
};
|
||||
|
||||
copyArray(config->cltFuelCorr, values);
|
||||
}
|
||||
|
||||
static void setDefaultFuelCutParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
boardConfiguration->coastingFuelCutEnabled = false;
|
||||
engineConfiguration->coastingFuelCutEnabled = false;
|
||||
engineConfiguration->coastingFuelCutRpmLow = 1300;
|
||||
engineConfiguration->coastingFuelCutRpmHigh = 1500;
|
||||
engineConfiguration->coastingFuelCutTps = 2;
|
||||
|
@ -465,54 +494,64 @@ static void setDefaultCrankingSettings(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
setLinearCurve(config->cltCrankingCorrBins, CLT_CURVE_RANGE_FROM, 100, 1);
|
||||
setLinearCurve(config->cltCrankingCorr, 1.0, 1.0, 1);
|
||||
|
||||
config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient
|
||||
config->crankingFuelBins[0] = -20; // temperature in C
|
||||
config->crankingFuelCoef[1] = 2.2;
|
||||
config->crankingFuelBins[1] = -10;
|
||||
config->crankingFuelCoef[2] = 1.8;
|
||||
config->crankingFuelBins[2] = 5;
|
||||
config->crankingFuelCoef[3] = 1.5;
|
||||
config->crankingFuelBins[3] = 30;
|
||||
// Cranking temperature compensation
|
||||
static const float crankingCoef[] = {
|
||||
2.8,
|
||||
2.2,
|
||||
1.8,
|
||||
1.5,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
};
|
||||
copyArray(config->crankingFuelCoef, crankingCoef);
|
||||
|
||||
config->crankingFuelCoef[4] = 1.0;
|
||||
config->crankingFuelBins[4] = 35;
|
||||
config->crankingFuelCoef[5] = 1.0;
|
||||
config->crankingFuelBins[5] = 50;
|
||||
config->crankingFuelCoef[6] = 1.0;
|
||||
config->crankingFuelBins[6] = 65;
|
||||
config->crankingFuelCoef[7] = 1.0;
|
||||
config->crankingFuelBins[7] = 90;
|
||||
// Deg C
|
||||
static const float crankingBins[] = {
|
||||
-20,
|
||||
-10,
|
||||
5,
|
||||
30,
|
||||
35,
|
||||
50,
|
||||
65,
|
||||
90
|
||||
};
|
||||
copyArray(config->crankingFuelBins, crankingBins);
|
||||
|
||||
config->crankingCycleCoef[0] = 1.5;
|
||||
config->crankingCycleBins[0] = 4;
|
||||
// Cranking cycle compensation
|
||||
|
||||
config->crankingCycleCoef[1] = 1.35;
|
||||
config->crankingCycleBins[1] = 8;
|
||||
static const float crankingCycleCoef[] = {
|
||||
1.5,
|
||||
1.35,
|
||||
1.05,
|
||||
0.75,
|
||||
0.5,
|
||||
0.5,
|
||||
0.5,
|
||||
0.5
|
||||
};
|
||||
copyArray(config->crankingCycleCoef, crankingCycleCoef);
|
||||
|
||||
config->crankingCycleCoef[2] = 1.05;
|
||||
config->crankingCycleBins[2] = 12;
|
||||
static const float crankingCycleBins[] = {
|
||||
4,
|
||||
8,
|
||||
12,
|
||||
16,
|
||||
74,
|
||||
75,
|
||||
76,
|
||||
77
|
||||
};
|
||||
copyArray(config->crankingCycleBins, crankingCycleBins);
|
||||
|
||||
config->crankingCycleCoef[3] = 0.75;
|
||||
config->crankingCycleBins[3] = 16;
|
||||
|
||||
config->crankingCycleCoef[4] = 0.5;
|
||||
config->crankingCycleBins[4] = 74;
|
||||
config->crankingCycleCoef[5] = 0.5;
|
||||
config->crankingCycleBins[5] = 75;
|
||||
config->crankingCycleCoef[6] = 0.5;
|
||||
config->crankingCycleBins[6] = 76;
|
||||
config->crankingCycleCoef[7] = 0.5;
|
||||
config->crankingCycleBins[7] = 77;
|
||||
|
||||
engineConfiguration->crankingAdvance[0] = 0;
|
||||
engineConfiguration->crankingAdvanceBins[0] = 0;
|
||||
engineConfiguration->crankingAdvance[1] = 0;
|
||||
engineConfiguration->crankingAdvanceBins[1] = 200;
|
||||
engineConfiguration->crankingAdvance[2] = 0;
|
||||
engineConfiguration->crankingAdvanceBins[2] = 400;
|
||||
engineConfiguration->crankingAdvance[3] = 0;
|
||||
engineConfiguration->crankingAdvanceBins[3] = 1000;
|
||||
// Cranking ignition timing
|
||||
static const float advanceValues[] = { 0, 0, 0, 0 };
|
||||
copyArray(engineConfiguration->crankingAdvance, advanceValues);
|
||||
|
||||
static const float advanceBins[] = { 0, 200, 400, 1000 };
|
||||
copyArray(engineConfiguration->crankingAdvanceBins, advanceBins);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -536,21 +575,20 @@ static void setDefaultIdleSpeedTarget(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
setCurveValue(engineConfiguration->cltIdleRpmBins, engineConfiguration->cltIdleRpm, CLT_CURVE_SIZE, 90, 900);
|
||||
setCurveValue(engineConfiguration->cltIdleRpmBins, engineConfiguration->cltIdleRpm, CLT_CURVE_SIZE, 100, 1000);
|
||||
setCurveValue(engineConfiguration->cltIdleRpmBins, engineConfiguration->cltIdleRpm, CLT_CURVE_SIZE, 110, 1100);
|
||||
|
||||
}
|
||||
|
||||
static void setDefaultStepperIdleParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
boardConfiguration->idle.stepperDirectionPin = GPIOE_10;
|
||||
boardConfiguration->idle.stepperStepPin = GPIOE_12;
|
||||
engineConfiguration->idle.stepperDirectionPin = GPIOE_10;
|
||||
engineConfiguration->idle.stepperStepPin = GPIOE_12;
|
||||
engineConfiguration->stepperEnablePin = GPIOE_14;
|
||||
engineConfiguration->idleStepperReactionTime = 10;
|
||||
engineConfiguration->idleStepperTotalSteps = 150;
|
||||
}
|
||||
|
||||
static void setCanFrankensoDefaults(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
boardConfiguration->canDeviceMode = CD_USE_CAN2;
|
||||
boardConfiguration->canTxPin = GPIOB_6;
|
||||
boardConfiguration->canRxPin = GPIOB_12;
|
||||
engineConfiguration->canDeviceMode = CD_USE_CAN2;
|
||||
engineConfiguration->canTxPin = GPIOB_6;
|
||||
engineConfiguration->canRxPin = GPIOB_12;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -619,14 +657,14 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->canWriteEnabled = true;
|
||||
engineConfiguration->canNbcType = CAN_BUS_MAZDA_RX8;
|
||||
|
||||
boardConfiguration->sdCardPeriodMs = 50;
|
||||
engineConfiguration->sdCardPeriodMs = 50;
|
||||
|
||||
for (int i = 0; i < FSIO_COMMAND_COUNT; i++) {
|
||||
config->fsioFormulas[i][0] = 0;
|
||||
}
|
||||
|
||||
|
||||
CONFIGB(mapMinBufferLength) = 1;
|
||||
CONFIG(mapMinBufferLength) = 1;
|
||||
|
||||
engineConfiguration->idlePidRpmDeadZone = 50;
|
||||
engineConfiguration->startOfCrankingPrimingPulse = 0;
|
||||
|
@ -768,7 +806,7 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->fuelClosedLoopCltThreshold = 70;
|
||||
engineConfiguration->fuelClosedLoopRpmThreshold = 900;
|
||||
engineConfiguration->fuelClosedLoopTpsThreshold = 80;
|
||||
boardConfiguration->fuelClosedLoopAfrLowThreshold = 10.3;
|
||||
engineConfiguration->fuelClosedLoopAfrLowThreshold = 10.3;
|
||||
engineConfiguration->fuelClosedLoopAfrHighThreshold = 19.8;
|
||||
engineConfiguration->fuelClosedLoopPid.pFactor = -0.1;
|
||||
|
||||
|
@ -783,16 +821,16 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->idleRpmPid.minValue = 0.1;
|
||||
engineConfiguration->idleRpmPid.maxValue = 99;
|
||||
boardConfiguration->idlePidDeactivationTpsThreshold = 2;
|
||||
engineConfiguration->idlePidDeactivationTpsThreshold = 2;
|
||||
|
||||
boardConfiguration->idle.solenoidFrequency = 200;
|
||||
engineConfiguration->idle.solenoidFrequency = 200;
|
||||
// set idle_position 50
|
||||
boardConfiguration->manIdlePosition = 50;
|
||||
engineConfiguration->manIdlePosition = 50;
|
||||
engineConfiguration->crankingIACposition = 50;
|
||||
// engineConfiguration->idleMode = IM_AUTO;
|
||||
engineConfiguration->idleMode = IM_MANUAL;
|
||||
|
||||
boardConfiguration->useStepperIdle = false;
|
||||
engineConfiguration->useStepperIdle = false;
|
||||
|
||||
setDefaultStepperIdleParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
|
@ -812,7 +850,7 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#endif
|
||||
|
||||
// performance optimization
|
||||
boardConfiguration->sensorChartMode = SC_OFF;
|
||||
engineConfiguration->sensorChartMode = SC_OFF;
|
||||
|
||||
engineConfiguration->storageMode = MS_AUTO;
|
||||
|
||||
|
@ -907,13 +945,13 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->knockDetectionWindowStart = 35;
|
||||
engineConfiguration->knockDetectionWindowEnd = 135;
|
||||
|
||||
boardConfiguration->fuelLevelEmptyTankVoltage = 0;
|
||||
boardConfiguration->fuelLevelFullTankVoltage = 5;
|
||||
engineConfiguration->fuelLevelEmptyTankVoltage = 0;
|
||||
engineConfiguration->fuelLevelFullTankVoltage = 5;
|
||||
|
||||
/**
|
||||
* this is RPM. 10000 rpm is only 166Hz, 800 rpm is 13Hz
|
||||
*/
|
||||
boardConfiguration->triggerSimulatorFrequency = 1200;
|
||||
engineConfiguration->triggerSimulatorFrequency = 1200;
|
||||
|
||||
engineConfiguration->alternatorPwmFrequency = 300;
|
||||
|
||||
|
@ -926,24 +964,24 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->vehicleSpeedCoef = 1.0f;
|
||||
|
||||
boardConfiguration->logicAnalyzerMode[0] = false;
|
||||
boardConfiguration->logicAnalyzerMode[1] = false;
|
||||
engineConfiguration->logicAnalyzerMode[0] = false;
|
||||
engineConfiguration->logicAnalyzerMode[1] = false;
|
||||
|
||||
engineConfiguration->mapErrorDetectionTooLow = 5;
|
||||
engineConfiguration->mapErrorDetectionTooHigh = 250;
|
||||
|
||||
boardConfiguration->idleThreadPeriodMs = 100;
|
||||
boardConfiguration->consoleLoopPeriodMs = 200;
|
||||
boardConfiguration->lcdThreadPeriodMs = 300;
|
||||
boardConfiguration->generalPeriodicThreadPeriodMs = 50;
|
||||
boardConfiguration->useLcdScreen = true;
|
||||
engineConfiguration->idleThreadPeriodMs = 100;
|
||||
engineConfiguration->consoleLoopPeriodMs = 200;
|
||||
engineConfiguration->lcdThreadPeriodMs = 300;
|
||||
engineConfiguration->generalPeriodicThreadPeriodMs = 50;
|
||||
engineConfiguration->useLcdScreen = true;
|
||||
|
||||
engineConfiguration->hip9011Gain = 1;
|
||||
|
||||
boardConfiguration->isFastAdcEnabled = true;
|
||||
boardConfiguration->isEngineControlEnabled = true;
|
||||
engineConfiguration->isFastAdcEnabled = true;
|
||||
engineConfiguration->isEngineControlEnabled = true;
|
||||
|
||||
boardConfiguration->isVerboseAlternator = false;
|
||||
engineConfiguration->isVerboseAlternator = false;
|
||||
|
||||
engineConfiguration->engineLoadAccelLength = 6;
|
||||
engineConfiguration->engineLoadAccelEnrichmentThreshold = 5; // kPa
|
||||
|
@ -962,7 +1000,7 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
* <reboot ECU>
|
||||
* fsioinfo
|
||||
*/
|
||||
boardConfiguration->fsio_setting[0] = 5000;
|
||||
engineConfiguration->fsio_setting[0] = 5000;
|
||||
// simple warning light as default configuration
|
||||
// set_fsio_expression 1 "rpm > fsio_setting(1)"
|
||||
setFsio(0, GPIO_UNASSIGNED, RPM_ABOVE_USER_SETTING_1 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -985,36 +1023,36 @@ void setDefaultFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->hip9011SpiDevice = SPI_DEVICE_2;
|
||||
engineConfiguration->cj125SpiDevice = SPI_DEVICE_2;
|
||||
|
||||
// boardConfiguration->gps_rx_pin = GPIOB_7;
|
||||
// boardConfiguration->gps_tx_pin = GPIOB_6;
|
||||
// engineConfiguration->gps_rx_pin = GPIOB_7;
|
||||
// engineConfiguration->gps_tx_pin = GPIOB_6;
|
||||
|
||||
boardConfiguration->triggerSimulatorPins[0] = GPIOD_1;
|
||||
boardConfiguration->triggerSimulatorPins[1] = GPIOD_2;
|
||||
engineConfiguration->triggerSimulatorPins[0] = GPIOD_1;
|
||||
engineConfiguration->triggerSimulatorPins[1] = GPIOD_2;
|
||||
|
||||
boardConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
boardConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[0] = GPIOC_6;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOA_5;
|
||||
|
||||
//boardConfiguration->logicAnalyzerPins[1] = GPIOE_5; // GPIOE_5 is a popular option (if available)
|
||||
//engineConfiguration->logicAnalyzerPins[1] = GPIOE_5; // GPIOE_5 is a popular option (if available)
|
||||
|
||||
|
||||
// set this to SPI_DEVICE_3 to enable stimulation
|
||||
//boardConfiguration->digitalPotentiometerSpiDevice = SPI_DEVICE_3;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[0] = GPIOD_7;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[1] = GPIO_UNASSIGNED;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[2] = GPIOD_5;
|
||||
boardConfiguration->digitalPotentiometerChipSelect[3] = GPIO_UNASSIGNED;
|
||||
//engineConfiguration->digitalPotentiometerSpiDevice = SPI_DEVICE_3;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[0] = GPIOD_7;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[1] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[2] = GPIOD_5;
|
||||
engineConfiguration->digitalPotentiometerChipSelect[3] = GPIO_UNASSIGNED;
|
||||
|
||||
boardConfiguration->spi1mosiPin = GPIOB_5;
|
||||
boardConfiguration->spi1misoPin = GPIOB_4;
|
||||
boardConfiguration->spi1sckPin = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output
|
||||
engineConfiguration->spi1mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi1misoPin = GPIOB_4;
|
||||
engineConfiguration->spi1sckPin = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output
|
||||
|
||||
boardConfiguration->spi2mosiPin = GPIOB_15;
|
||||
boardConfiguration->spi2misoPin = GPIOB_14;
|
||||
boardConfiguration->spi2sckPin = GPIOB_13;
|
||||
engineConfiguration->spi2mosiPin = GPIOB_15;
|
||||
engineConfiguration->spi2misoPin = GPIOB_14;
|
||||
engineConfiguration->spi2sckPin = GPIOB_13;
|
||||
|
||||
boardConfiguration->spi3mosiPin = GPIOB_5;
|
||||
boardConfiguration->spi3misoPin = GPIOB_4;
|
||||
boardConfiguration->spi3sckPin = GPIOB_3;
|
||||
engineConfiguration->spi3mosiPin = GPIOB_5;
|
||||
engineConfiguration->spi3misoPin = GPIOB_4;
|
||||
engineConfiguration->spi3sckPin = GPIOB_3;
|
||||
|
||||
// set optional subsystem configs
|
||||
#if EFI_MEMS
|
||||
|
@ -1030,9 +1068,9 @@ void setDefaultFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setDefaultSdCardParameters(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
#endif /* EFI_FILE_LOGGING */
|
||||
|
||||
boardConfiguration->is_enabled_spi_1 = false;
|
||||
boardConfiguration->is_enabled_spi_2 = false;
|
||||
boardConfiguration->is_enabled_spi_3 = true;
|
||||
engineConfiguration->is_enabled_spi_1 = false;
|
||||
engineConfiguration->is_enabled_spi_2 = false;
|
||||
engineConfiguration->is_enabled_spi_3 = true;
|
||||
}
|
||||
|
||||
void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallback, engine_type_e engineType DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
|
@ -1077,8 +1115,11 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb
|
|||
case ISSUE_898:
|
||||
setIssue898(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MRE_MIATA_NB2_MTB:
|
||||
setMiataNB2_MRE_MTB(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MRE_MIATA_NB2:
|
||||
setMiataNB2_MRE(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setMiataNB2_MRE_ETB(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case PROMETHEUS_DEFAULTS:
|
||||
case MINIMAL_PINS:
|
||||
|
@ -1172,9 +1213,6 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb
|
|||
case MAZDA_MIATA_NB1:
|
||||
setMazdaMiataNb1EngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MAZDA_323:
|
||||
setMazda323EngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MAZDA_626:
|
||||
setMazda626EngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
|
@ -1289,7 +1327,7 @@ void validateConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
|
||||
void applyNonPersistentConfiguration(Logging * logger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
#if EFI_PROD_CODE
|
||||
efiAssertVoid(CUSTOM_APPLY_STACK, getCurrentRemainingStack() > 256, "apply c");
|
||||
efiAssertVoid(CUSTOM_APPLY_STACK, getCurrentRemainingStack() > EXPECTED_REMAINING_STACK, "apply c");
|
||||
scheduleMsg(logger, "applyNonPersistentConfiguration()");
|
||||
#endif
|
||||
|
||||
|
@ -1335,12 +1373,12 @@ void commonFrankensoAnalogInputs(engine_configuration_s *engineConfiguration) {
|
|||
}
|
||||
|
||||
void setFrankenso0_1_joystick(engine_configuration_s *engineConfiguration) {
|
||||
board_configuration_s *boardConfiguration = &engineConfiguration->bc;
|
||||
boardConfiguration->joystickCenterPin = GPIOC_8;
|
||||
boardConfiguration->joystickAPin = GPIOD_10;
|
||||
boardConfiguration->joystickBPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->joystickCPin = GPIO_UNASSIGNED;
|
||||
boardConfiguration->joystickDPin = GPIOD_11;
|
||||
|
||||
engineConfiguration->joystickCenterPin = GPIOC_8;
|
||||
engineConfiguration->joystickAPin = GPIOD_10;
|
||||
engineConfiguration->joystickBPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->joystickCPin = GPIO_UNASSIGNED;
|
||||
engineConfiguration->joystickDPin = GPIOD_11;
|
||||
}
|
||||
|
||||
void copyTargetAfrTable(fuel_table_t const source, afr_table_t destination) {
|
||||
|
|
|
@ -3,11 +3,10 @@
|
|||
* @brief Main engine configuration data structure.
|
||||
*
|
||||
* @date Oct 30, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#ifndef ENGINE_CONFIGURATION_H_
|
||||
#define ENGINE_CONFIGURATION_H_
|
||||
#pragma once
|
||||
|
||||
#include "globalaccess.h"
|
||||
#include "crc.h"
|
||||
|
@ -24,19 +23,6 @@
|
|||
|
||||
#define MOCK_UNDEFINED -1
|
||||
|
||||
// WARNING: by default, our small enums are ONE BYTE. this one is made 4-byte with the 'ENUM_32_BITS' hack
|
||||
|
||||
/**
|
||||
* @brief Engine configuration.
|
||||
* Values in this data structure are adjustable and persisted in on-board flash RAM.
|
||||
*
|
||||
* The offsets are tracked using
|
||||
* https://docs.google.com/spreadsheet/ccc?key=0AiAmAn6tn3L_dGJXZDZOcVVhaG9SaHZKU1dyMjhEV0E
|
||||
*
|
||||
* todo: currently the fields here are simply in the order in which they were implemented
|
||||
* todo: re-arrange this structure one we have a stable code version
|
||||
*/
|
||||
|
||||
float getRpmMultiplier(operation_mode_e mode);
|
||||
void setOperationMode(engine_configuration_s *engineConfiguration, operation_mode_e mode);
|
||||
|
||||
|
@ -89,5 +75,3 @@ typedef void (*configuration_callback_t)(engine_configuration_s*);
|
|||
void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallback, engine_type_e engineType DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* ENGINE_CONFIGURATION_H_ */
|
||||
|
|
|
@ -344,7 +344,7 @@ float getFuelCutOffCorrection(efitick_t nowNt, int rpm DECLARE_ENGINE_PARAMETER_
|
|||
float fuelCorr = 1.0f;
|
||||
|
||||
// coasting fuel cut-off correction
|
||||
if (CONFIGB(coastingFuelCutEnabled)) {
|
||||
if (CONFIG(coastingFuelCutEnabled)) {
|
||||
percent_t tpsPos = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
float map = getMap(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
|
|
|
@ -1927,7 +1927,7 @@ typedef enum {
|
|||
CUSTOM_ERR_6575 = 6575,
|
||||
CUSTOM_ERR_6576 = 6576,
|
||||
CUSTOM_ERR_6577 = 6577,
|
||||
CUSTOM_ERR_6578 = 6578,
|
||||
CUSTOM_NULL_ENGINE_PTR = 6578,
|
||||
CUSTOM_DUTY_TOO_LOW = 6579,
|
||||
|
||||
CUSTOM_ERR_6580 = 6580,
|
||||
|
@ -2081,7 +2081,7 @@ typedef enum {
|
|||
|
||||
|
||||
CUSTOM_INVALID_ADC = 6720,
|
||||
CUSTOM_ERR_6721 = 6721,
|
||||
CUSTOM_INVALID_MODE_SETTING = 6721,
|
||||
CUSTOM_ERR_6722 = 6722,
|
||||
CUSTOM_ERR_6723 = 6723,
|
||||
CUSTOM_ERR_6724 = 6724,
|
||||
|
|
|
@ -16,14 +16,6 @@
|
|||
// https://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename
|
||||
#include <rusefi_hw_enums.h>
|
||||
|
||||
#define ENUM_16_BITS 20000
|
||||
|
||||
#define DIGIPOT_COUNT 4
|
||||
|
||||
#define TRIGGER_SIMULATOR_PIN_COUNT 3
|
||||
|
||||
#define LOGIC_ANALYZER_CHANNEL_COUNT 4
|
||||
|
||||
// I believe that TunerStudio curve editor has a bug with F32 support
|
||||
// because of that bug we cannot have '1.05' for 5% extra multiplier
|
||||
/**
|
||||
|
@ -68,7 +60,7 @@ typedef enum {
|
|||
|
||||
ROVER_V8 = 10,
|
||||
|
||||
MAZDA_323 = 11,
|
||||
MRE_MIATA_NB2_MTB = 11,
|
||||
|
||||
MRE_MIATA_NA6 = 12,
|
||||
|
||||
|
@ -189,6 +181,8 @@ typedef enum {
|
|||
|
||||
PROTEUS = 61,
|
||||
|
||||
VW_B6 = 62,
|
||||
|
||||
/**
|
||||
* this configuration has as few pins configured as possible
|
||||
*/
|
||||
|
|
|
@ -30,7 +30,7 @@ typedef unsigned int time_t;
|
|||
typedef time_t efitimesec_t;
|
||||
|
||||
/**
|
||||
* integer time in milliseconds
|
||||
* integer time in milliseconds (1/1_000 of a second)
|
||||
* 32 bit 4B / 1000 = 4M seconds = 1111.11 hours = 46 days.
|
||||
* Please restart your ECU every 46 days? :)
|
||||
* See getTimeNowUs()
|
||||
|
@ -51,10 +51,16 @@ typedef int pid_dt;
|
|||
typedef int64_t efitime_t;
|
||||
|
||||
/**
|
||||
* 64 bit time in microseconds, since boot
|
||||
* 64 bit time in microseconds (1/1_000_000 of a second), since boot
|
||||
*/
|
||||
typedef efitime_t efitimeus_t;
|
||||
|
||||
/**
|
||||
* 64 bit time in milliseconds (1/1_000 of a second), since boot
|
||||
*/
|
||||
typedef efitime_t efitimems64_t;
|
||||
|
||||
|
||||
/**
|
||||
* platform-dependent tick since boot
|
||||
* in case of stm32f4 that's a CPU tick
|
||||
|
|
|
@ -34,12 +34,21 @@
|
|||
#endif /* __cplusplus */
|
||||
|
||||
/**
|
||||
* reference to configuration parameter
|
||||
* reference to configuration parameter.
|
||||
*/
|
||||
#define DISPLAY_CONFIG(x) x
|
||||
/**
|
||||
* The main annotation of live data - reference to dynamic state variable
|
||||
* See also 'TS_GET_STRUCT'
|
||||
* The advantage of Live Data is that there is no need to copy data into tsOutputChannels structure - Live Data is reading exactly
|
||||
* the same data as actual runtime logic. It's also important to have annotations of the View as close to actual implementation as possible
|
||||
* to increase the changes of those being in sync.
|
||||
*
|
||||
* One day Live Data could be replace with a Domain Specific Language
|
||||
* One day all Live Data could be provided to TS without data copy to tsOutputChannels - the idea is to have a virtual tsOutputChannels
|
||||
* where rusEfi would pull data from different memory ranges depending on the requested offset, more or less virtual pages. This could depend
|
||||
* on the TS bugfix described in https://github.com/rusefi/rusefi/issues/794?
|
||||
*
|
||||
*/
|
||||
#define DISPLAY_FIELD(x) x
|
||||
/**
|
||||
|
@ -68,20 +77,18 @@
|
|||
#define DECLARE_ENGINE_PTR \
|
||||
Engine *engine = nullptr; \
|
||||
engine_configuration_s *engineConfiguration = nullptr; \
|
||||
persistent_config_s *config = nullptr; \
|
||||
board_configuration_s *boardConfiguration = nullptr;
|
||||
persistent_config_s *config = nullptr;
|
||||
|
||||
|
||||
#define INJECT_ENGINE_REFERENCE(x) \
|
||||
(x)->engine = engine; \
|
||||
(x)->engineConfiguration = engineConfiguration; \
|
||||
(x)->config = config; \
|
||||
(x)->boardConfiguration = boardConfiguration;
|
||||
(x)->config = config;
|
||||
|
||||
#define EXPAND_Engine \
|
||||
engine_configuration_s *engineConfiguration = engine->engineConfigurationPtr; \
|
||||
persistent_config_s *config = engine->config; \
|
||||
board_configuration_s *boardConfiguration = &engineConfiguration->bc;
|
||||
|
||||
|
||||
#ifndef EFI_ACTIVE_CONFIGURATION_IN_FLASH
|
||||
// We store a special changeable copy of configuration is RAM, so we can just compare them
|
||||
|
|
|
@ -254,7 +254,7 @@ bool LECalculator::processElement(LEElement *element DECLARE_ENGINE_PARAMETER_SU
|
|||
float humanIndex = pop(LE_METHOD_FSIO_SETTING);
|
||||
int index = (int) humanIndex - 1;
|
||||
if (index >= 0 && index < FSIO_COMMAND_COUNT) {
|
||||
push(element->action, CONFIGB(fsio_setting)[index]);
|
||||
push(element->action, CONFIG(fsio_setting)[index]);
|
||||
} else {
|
||||
push(element->action, NAN);
|
||||
}
|
||||
|
|
|
@ -229,7 +229,7 @@ static void setFsioOutputPin(const char *indexStr, const char *pinName) {
|
|||
scheduleMsg(logger, "invalid pin name [%s]", pinName);
|
||||
return;
|
||||
}
|
||||
CONFIGB(fsioOutputPins)[index] = pin;
|
||||
CONFIG(fsioOutputPins)[index] = pin;
|
||||
scheduleMsg(logger, "FSIO output pin #%d [%s]", (index + 1), hwPortname(pin));
|
||||
scheduleMsg(logger, "please writeconfig and reboot for pin to take effect");
|
||||
showFsioInfo();
|
||||
|
@ -242,13 +242,13 @@ static void setFsioOutputPin(const char *indexStr, const char *pinName) {
|
|||
* index is between zero and LE_COMMAND_LENGTH-1
|
||||
*/
|
||||
void setFsioExt(int index, brain_pin_e pin, const char * formula, int pwmFrequency DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||
CONFIGB(fsioOutputPins)[index] = pin;
|
||||
CONFIG(fsioOutputPins)[index] = pin;
|
||||
int len = strlen(formula);
|
||||
if (len >= LE_COMMAND_LENGTH) {
|
||||
return;
|
||||
}
|
||||
strcpy(config->fsioFormulas[index], formula);
|
||||
CONFIGB(fsioFrequency)[index] = pwmFrequency;
|
||||
CONFIG(fsioFrequency)[index] = pwmFrequency;
|
||||
}
|
||||
|
||||
void setFsio(int index, brain_pin_e pin, const char * exp DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||
|
@ -260,7 +260,7 @@ void applyFsioConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
for (int i = 0; i < FSIO_COMMAND_COUNT; i++) {
|
||||
const char *formula = config->fsioFormulas[i];
|
||||
LEElement *logic = userPool.parseExpression(formula);
|
||||
brain_pin_e brainPin = CONFIGB(fsioOutputPins)[i];
|
||||
brain_pin_e brainPin = CONFIG(fsioOutputPins)[i];
|
||||
if (brainPin != GPIO_UNASSIGNED && logic == NULL) {
|
||||
warning(CUSTOM_FSIO_PARSING, "parsing [%s]", formula);
|
||||
}
|
||||
|
@ -321,7 +321,7 @@ static const char *getGpioPinName(int index) {
|
|||
|
||||
float getFsioOutputValue(int index DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
if (state.fsioLogics[index] == NULL) {
|
||||
warning(CUSTOM_NO_FSIO, "no FSIO for #%d %s", index + 1, hwPortname(CONFIGB(fsioOutputPins)[index]));
|
||||
warning(CUSTOM_NO_FSIO, "no FSIO for #%d %s", index + 1, hwPortname(CONFIG(fsioOutputPins)[index]));
|
||||
return NAN;
|
||||
} else {
|
||||
return calc.getValue2(engine->fsioState.fsioLastValue[index], state.fsioLogics[index] PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
|
@ -332,12 +332,12 @@ float getFsioOutputValue(int index DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
* @param index from zero for (FSIO_COMMAND_COUNT - 1)
|
||||
*/
|
||||
static void handleFsio(int index DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
if (CONFIGB(fsioOutputPins)[index] == GPIO_UNASSIGNED) {
|
||||
if (CONFIG(fsioOutputPins)[index] == GPIO_UNASSIGNED) {
|
||||
engine->fsioState.fsioLastValue[index] = NAN;
|
||||
return;
|
||||
}
|
||||
|
||||
bool isPwmMode = CONFIGB(fsioFrequency)[index] != NO_PWM;
|
||||
bool isPwmMode = CONFIG(fsioFrequency)[index] != NO_PWM;
|
||||
|
||||
float fvalue = getFsioOutputValue(index PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
engine->fsioState.fsioLastValue[index] = fvalue;
|
||||
|
@ -410,11 +410,11 @@ static void setFsioFrequency(int index, int frequency) {
|
|||
scheduleMsg(logger, "invalid FSIO index: %d", index);
|
||||
return;
|
||||
}
|
||||
CONFIGB(fsioFrequency)[index] = frequency;
|
||||
CONFIG(fsioFrequency)[index] = frequency;
|
||||
if (frequency == 0) {
|
||||
scheduleMsg(logger, "FSIO output #%d@%s set to on/off mode", index + 1, hwPortname(CONFIGB(fsioOutputPins)[index]));
|
||||
scheduleMsg(logger, "FSIO output #%d@%s set to on/off mode", index + 1, hwPortname(CONFIG(fsioOutputPins)[index]));
|
||||
} else {
|
||||
scheduleMsg(logger, "Setting FSIO frequency %dHz on #%d@%s", frequency, index + 1, hwPortname(CONFIGB(fsioOutputPins)[index]));
|
||||
scheduleMsg(logger, "Setting FSIO frequency %dHz on #%d@%s", frequency, index + 1, hwPortname(CONFIG(fsioOutputPins)[index]));
|
||||
}
|
||||
}
|
||||
#endif /* EFI_PROD_CODE */
|
||||
|
@ -449,23 +449,23 @@ void runFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
}
|
||||
|
||||
#if EFI_FUEL_PUMP
|
||||
if (CONFIGB(fuelPumpPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(fuelPumpPin) != GPIO_UNASSIGNED) {
|
||||
setPinState("pump", &enginePins.fuelPumpRelay, fuelPumpLogic PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
}
|
||||
#endif /* EFI_FUEL_PUMP */
|
||||
|
||||
#if EFI_MAIN_RELAY_CONTROL
|
||||
if (CONFIGB(mainRelayPin) != GPIO_UNASSIGNED)
|
||||
if (CONFIG(mainRelayPin) != GPIO_UNASSIGNED)
|
||||
setPinState("main_relay", &enginePins.mainRelay, mainRelayLogic PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
#else /* EFI_MAIN_RELAY_CONTROL */
|
||||
/**
|
||||
* main relay is always on if ECU is on, that's a good enough initial implementation
|
||||
*/
|
||||
if (CONFIGB(mainRelayPin) != GPIO_UNASSIGNED)
|
||||
if (CONFIG(mainRelayPin) != GPIO_UNASSIGNED)
|
||||
enginePins.mainRelay.setValue(true);
|
||||
#endif /* EFI_MAIN_RELAY_CONTROL */
|
||||
|
||||
if (CONFIGB(starterRelayPin) != GPIO_UNASSIGNED)
|
||||
if (CONFIG(starterRelayPin) != GPIO_UNASSIGNED)
|
||||
setPinState("starter_relay", &enginePins.starterRelay, starterRelayLogic PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
/**
|
||||
|
@ -475,15 +475,15 @@ void runFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
*/
|
||||
enginePins.o2heater.setValue(engine->rpmCalculator.isRunning(PASS_ENGINE_PARAMETER_SIGNATURE));
|
||||
|
||||
if (CONFIGB(acRelayPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(acRelayPin) != GPIO_UNASSIGNED) {
|
||||
setPinState("A/C", &enginePins.acRelay, acRelayLogic PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
}
|
||||
|
||||
// if (CONFIGB(alternatorControlPin) != GPIO_UNASSIGNED) {
|
||||
// if (CONFIG(alternatorControlPin) != GPIO_UNASSIGNED) {
|
||||
// setPinState("alternator", &enginePins.alternatorField, alternatorLogic, engine PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
// }
|
||||
|
||||
if (CONFIGB(fanPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(fanPin) != GPIO_UNASSIGNED) {
|
||||
setPinState("fan", &enginePins.fanRelay, radiatorFanLogic PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
}
|
||||
|
||||
|
@ -573,14 +573,14 @@ static void showFsioInfo(void) {
|
|||
* is the fact that the target audience is more software developers
|
||||
*/
|
||||
scheduleMsg(logger, "FSIO #%d [%s] at %s@%dHz value=%.2f", (i + 1), exp,
|
||||
hwPortname(CONFIGB(fsioOutputPins)[i]), CONFIGB(fsioFrequency)[i],
|
||||
hwPortname(CONFIG(fsioOutputPins)[i]), CONFIG(fsioFrequency)[i],
|
||||
engine->fsioState.fsioLastValue[i]);
|
||||
// scheduleMsg(logger, "user-defined #%d value=%.2f", i, engine->engineConfigurationPtr2->fsioLastValue[i]);
|
||||
showFsio(NULL, state.fsioLogics[i]);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < FSIO_COMMAND_COUNT; i++) {
|
||||
float v = CONFIGB(fsio_setting)[i];
|
||||
float v = CONFIG(fsio_setting)[i];
|
||||
if (!cisnan(v)) {
|
||||
scheduleMsg(logger, "user property #%d: %.2f", i + 1, v);
|
||||
}
|
||||
|
@ -604,7 +604,7 @@ static void setFsioSetting(float humanIndexF, float value) {
|
|||
scheduleMsg(logger, "invalid FSIO index: %d", (int)humanIndexF);
|
||||
return;
|
||||
}
|
||||
engineConfiguration->bc.fsio_setting[index] = value;
|
||||
engineConfiguration->fsio_setting[index] = value;
|
||||
showFsioInfo();
|
||||
#endif
|
||||
}
|
||||
|
@ -674,20 +674,20 @@ void initFsioImpl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
alternatorLogic = sysPool.parseExpression(ALTERNATOR_LOGIC);
|
||||
|
||||
#if EFI_MAIN_RELAY_CONTROL
|
||||
if (CONFIGB(mainRelayPin) != GPIO_UNASSIGNED)
|
||||
if (CONFIG(mainRelayPin) != GPIO_UNASSIGNED)
|
||||
mainRelayLogic = sysPool.parseExpression(MAIN_RELAY_LOGIC);
|
||||
#endif /* EFI_MAIN_RELAY_CONTROL */
|
||||
if (CONFIGB(starterRelayPin) != GPIO_UNASSIGNED)
|
||||
if (CONFIG(starterRelayPin) != GPIO_UNASSIGNED)
|
||||
starterRelayLogic = sysPool.parseExpression(STARTER_RELAY_LOGIC);
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
for (int i = 0; i < FSIO_COMMAND_COUNT; i++) {
|
||||
brain_pin_e brainPin = CONFIGB(fsioOutputPins)[i];
|
||||
brain_pin_e brainPin = CONFIG(fsioOutputPins)[i];
|
||||
|
||||
if (brainPin != GPIO_UNASSIGNED) {
|
||||
int frequency = CONFIGB(fsioFrequency)[i];
|
||||
int frequency = CONFIG(fsioFrequency)[i];
|
||||
if (frequency == 0) {
|
||||
enginePins.fsioOutputs[i].initPin(getGpioPinName(i), CONFIGB(fsioOutputPins)[i], &DEFAULT_OUTPUT);
|
||||
enginePins.fsioOutputs[i].initPin(getGpioPinName(i), CONFIG(fsioOutputPins)[i], &DEFAULT_OUTPUT);
|
||||
} else {
|
||||
startSimplePwmExt(&fsioPwm[i], "FSIOpwm",
|
||||
&engine->executor,
|
||||
|
@ -739,24 +739,24 @@ extern EnginePins enginePins;
|
|||
// "Limp-mode" implementation for some RAM-limited configs without FSIO
|
||||
void runHardcodedFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
// see MAIN_RELAY_LOGIC
|
||||
if (CONFIGB(mainRelayPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(mainRelayPin) != GPIO_UNASSIGNED) {
|
||||
enginePins.mainRelay.setValue((getTimeNowSeconds() < 2) || (getVBatt(PASS_ENGINE_PARAMETER_SIGNATURE) > 5) || engine->isInShutdownMode());
|
||||
}
|
||||
// see STARTER_RELAY_LOGIC
|
||||
if (CONFIGB(starterRelayPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(starterRelayPin) != GPIO_UNASSIGNED) {
|
||||
enginePins.starterRelay.setValue(engine->rpmCalculator.getRpm() < engineConfiguration->cranking.rpm);
|
||||
}
|
||||
// see FAN_CONTROL_LOGIC
|
||||
if (CONFIGB(fanPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(fanPin) != GPIO_UNASSIGNED) {
|
||||
enginePins.fanRelay.setValue((enginePins.fanRelay.getLogicValue() && (getCoolantTemperature() > engineConfiguration->fanOffTemperature)) ||
|
||||
(getCoolantTemperature() > engineConfiguration->fanOnTemperature) || engine->isCltBroken);
|
||||
}
|
||||
// see AC_RELAY_LOGIC
|
||||
if (CONFIGB(acRelayPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(acRelayPin) != GPIO_UNASSIGNED) {
|
||||
enginePins.acRelay.setValue(getAcToggle(PASS_ENGINE_PARAMETER_SIGNATURE) && engine->rpmCalculator.getRpm() > 850);
|
||||
}
|
||||
// see FUEL_PUMP_LOGIC
|
||||
if (CONFIGB(fuelPumpPin) != GPIO_UNASSIGNED) {
|
||||
if (CONFIG(fuelPumpPin) != GPIO_UNASSIGNED) {
|
||||
enginePins.fuelPumpRelay.setValue((getTimeNowSeconds() < engineConfiguration->startUpFuelPumpDuration) || (engine->rpmCalculator.getRpm() > 0));
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,10 @@
|
|||
* @brief FSIO as it's used for GPIO
|
||||
*
|
||||
* @date Oct 5, 2014
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#ifndef LE_FUNCTIONS_H_
|
||||
#define LE_FUNCTIONS_H_
|
||||
#pragma once
|
||||
|
||||
#include "fsio_core.h"
|
||||
#include "engine.h"
|
||||
|
@ -43,4 +42,3 @@ void runHardcodedFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
|||
|
||||
ValueProvider3D *getFSIOTable(int index);
|
||||
|
||||
#endif /* LE_FUNCTIONS_H_ */
|
||||
|
|
|
@ -23,44 +23,49 @@
|
|||
|
||||
#include "global.h"
|
||||
#include "os_access.h"
|
||||
#if EFI_SENSOR_CHART
|
||||
#include "sensor_chart.h"
|
||||
#endif
|
||||
#include "engine_configuration.h"
|
||||
#include "trigger_central.h"
|
||||
#include "engine_controller.h"
|
||||
#include "fsio_core.h"
|
||||
#include "fsio_impl.h"
|
||||
#include "idle_thread.h"
|
||||
#include "advance_map.h"
|
||||
#include "rpm_calculator.h"
|
||||
#include "main_trigger_callback.h"
|
||||
#include "io_pins.h"
|
||||
#include "flash_main.h"
|
||||
#if EFI_TUNER_STUDIO
|
||||
#include "tunerstudio.h"
|
||||
#endif
|
||||
#include "injector_central.h"
|
||||
#include "os_util.h"
|
||||
#include "engine_math.h"
|
||||
#if EFI_LOGIC_ANALYZER
|
||||
#include "logic_analyzer.h"
|
||||
#endif
|
||||
#include "allsensors.h"
|
||||
#include "electronic_throttle.h"
|
||||
#include "map_averaging.h"
|
||||
#include "malfunction_central.h"
|
||||
#include "malfunction_indicator.h"
|
||||
#include "engine.h"
|
||||
#include "algo.h"
|
||||
#include "speed_density.h"
|
||||
#include "local_version_holder.h"
|
||||
#include "alternator_controller.h"
|
||||
#include "fuel_math.h"
|
||||
#include "settings.h"
|
||||
#include "aux_pid.h"
|
||||
#include "spark_logic.h"
|
||||
#include "aux_valves.h"
|
||||
#include "accelerometer.h"
|
||||
#include "counter64.h"
|
||||
#include "perf_trace.h"
|
||||
|
||||
#if EFI_SENSOR_CHART
|
||||
#include "sensor_chart.h"
|
||||
#endif
|
||||
|
||||
#if EFI_TUNER_STUDIO
|
||||
#include "tunerstudio.h"
|
||||
#endif
|
||||
|
||||
#if EFI_LOGIC_ANALYZER
|
||||
#include "logic_analyzer.h"
|
||||
#endif
|
||||
|
||||
#if HAL_USE_ADC
|
||||
#include "AdcConfiguration.h"
|
||||
#endif /* HAL_USE_ADC */
|
||||
|
@ -94,8 +99,13 @@
|
|||
|
||||
EXTERN_ENGINE;
|
||||
|
||||
// this method is used by real firmware and simulator and unit test
|
||||
void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
void initDataStructures(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
initFuelMap(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
initTimingMap(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
initSpeedDensity(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
}
|
||||
|
||||
static void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
#if !EFI_UNIT_TEST
|
||||
initSensors();
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
@ -157,7 +167,7 @@ class PeriodicSlowController : public PeriodicTimerController {
|
|||
|
||||
int getPeriodMs() override {
|
||||
// we need at least protection from zero value while resetting configuration
|
||||
int periodMs = maxI(50, CONFIGB(generalPeriodicThreadPeriodMs));
|
||||
int periodMs = maxI(50, CONFIG(generalPeriodicThreadPeriodMs));
|
||||
return periodMs;
|
||||
}
|
||||
};
|
||||
|
@ -207,7 +217,7 @@ static Overflow64Counter halTime;
|
|||
*/
|
||||
//todo: macro to save method invocation
|
||||
efitimeus_t getTimeNowUs(void) {
|
||||
ScopePerf perf(PE::ScheduleByAngle);
|
||||
ScopePerf perf(PE::GetTimeNowUs);
|
||||
return getTimeNowNt() / (CORE_CLOCK / 1000000);
|
||||
}
|
||||
|
||||
|
@ -298,8 +308,6 @@ static void resetAccel(void) {
|
|||
}
|
||||
}
|
||||
|
||||
static int previousSecond;
|
||||
|
||||
#if ENABLE_PERF_TRACE
|
||||
|
||||
void irqEnterHook(void) {
|
||||
|
@ -389,7 +397,7 @@ static void printAnalogChannelInfoExt(const char *name, adc_channel_e hwChannel,
|
|||
}
|
||||
|
||||
if (fastAdc.isHwUsed(hwChannel)) {
|
||||
scheduleMsg(&logger, "fast enabled=%s", boolToString(CONFIGB(isFastAdcEnabled)));
|
||||
scheduleMsg(&logger, "fast enabled=%s", boolToString(CONFIG(isFastAdcEnabled)));
|
||||
}
|
||||
|
||||
float voltage = adcVoltage * dividerCoeff;
|
||||
|
@ -659,13 +667,29 @@ static void getKnockInfo(void) {
|
|||
|
||||
engine->printKnockState();
|
||||
}
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
||||
// this method is used by real firmware and simulator but not unit tests
|
||||
// this method is used by real firmware and simulator and unit test
|
||||
void commonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
initInterpolation(sharedLogger);
|
||||
|
||||
#if EFI_SIMULATOR
|
||||
printf("commonInitEngineController\n");
|
||||
#endif
|
||||
|
||||
#if !EFI_UNIT_TEST
|
||||
initConfigActions();
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
||||
#if EFI_ENGINE_CONTROL
|
||||
/**
|
||||
* This has to go after 'initInjectorCentral' in order to
|
||||
* properly detect un-assigned output pins
|
||||
*/
|
||||
prepareShapes(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */
|
||||
|
||||
|
||||
#if EFI_ENABLE_MOCK_ADC
|
||||
initMockVoltage();
|
||||
#endif /* EFI_ENABLE_MOCK_ADC */
|
||||
|
@ -674,10 +698,6 @@ void commonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_S
|
|||
initSensorChart();
|
||||
#endif /* EFI_SENSOR_CHART */
|
||||
|
||||
#if EFI_PROD_CODE || EFI_SIMULATOR
|
||||
// todo: this is a mess, remove code duplication with simulator
|
||||
initSettings();
|
||||
#endif
|
||||
|
||||
#if EFI_TUNER_STUDIO
|
||||
if (engineConfiguration->isTunerStudioEnabled) {
|
||||
|
@ -685,25 +705,55 @@ void commonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_S
|
|||
}
|
||||
#endif /* EFI_TUNER_STUDIO */
|
||||
|
||||
#if EFI_PROD_CODE || EFI_SIMULATOR
|
||||
initSettings();
|
||||
|
||||
if (hasFirmwareError()) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
mostCommonInitEngineController(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
#if EFI_SHAFT_POSITION_INPUT
|
||||
/**
|
||||
* there is an implicit dependency on the fact that 'tachometer' listener is the 1st listener - this case
|
||||
* other listeners can access current RPM value
|
||||
*/
|
||||
initRpmCalculator(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
#endif /* EFI_SHAFT_POSITION_INPUT */
|
||||
|
||||
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || EFI_SIMULATOR || EFI_UNIT_TEST
|
||||
if (CONFIG(isEngineControlEnabled)) {
|
||||
initAuxValves(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
/**
|
||||
* This method adds trigger listener which actually schedules ignition
|
||||
*/
|
||||
initSparkLogic(sharedLogger);
|
||||
initMainEventListener(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
}
|
||||
#endif /* EFI_ENGINE_CONTROL */
|
||||
|
||||
}
|
||||
|
||||
#if !EFI_UNIT_TEST
|
||||
|
||||
void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
#if EFI_SIMULATOR
|
||||
printf("initEngineContoller\n");
|
||||
#endif
|
||||
addConsoleAction("analoginfo", printAnalogInfo);
|
||||
|
||||
#if EFI_PROD_CODE && EFI_ENGINE_CONTROL
|
||||
initInjectorCentral(sharedLogger);
|
||||
#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */
|
||||
|
||||
commonInitEngineController(sharedLogger);
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
initPwmGenerator();
|
||||
#endif
|
||||
|
||||
initAlgo(sharedLogger);
|
||||
|
||||
#if EFI_LOGIC_ANALYZER
|
||||
if (engineConfiguration->isWaveAnalyzerEnabled) {
|
||||
initWaveAnalyzer(sharedLogger);
|
||||
|
@ -718,19 +768,6 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
|
|||
#endif /* EFI_CJ125 */
|
||||
|
||||
|
||||
#if EFI_SHAFT_POSITION_INPUT
|
||||
/**
|
||||
* there is an implicit dependency on the fact that 'tachometer' listener is the 1st listener - this case
|
||||
* other listeners can access current RPM value
|
||||
*/
|
||||
initRpmCalculator(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
#endif /* EFI_SHAFT_POSITION_INPUT */
|
||||
|
||||
#if EFI_PROD_CODE && EFI_ENGINE_CONTROL
|
||||
initInjectorCentral(sharedLogger);
|
||||
#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */
|
||||
|
||||
// multiple issues with this initMapAdjusterThread();
|
||||
// periodic events need to be initialized after fuel&spark pins to avoid a warning
|
||||
initPeriodicEvents(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
|
@ -740,14 +777,6 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
|
|||
|
||||
engineStateBlinkingTask.Start();
|
||||
|
||||
#if EFI_PROD_CODE && EFI_ENGINE_CONTROL
|
||||
/**
|
||||
* This has to go after 'initInjectorCentral' and 'initInjectorCentral' in order to
|
||||
* properly detect un-assigned output pins
|
||||
*/
|
||||
prepareShapes(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */
|
||||
|
||||
#if EFI_PWM_TESTER
|
||||
initPwmTester();
|
||||
#endif /* EFI_PWM_TESTER */
|
||||
|
@ -768,15 +797,6 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
|
|||
|
||||
initEgoAveraging(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
|
||||
if (CONFIGB(isEngineControlEnabled)) {
|
||||
/**
|
||||
* This method initialized the main listener which actually runs injectors & ignition
|
||||
*/
|
||||
initMainEventListener(sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
}
|
||||
#endif /* EFI_ENGINE_CONTROL */
|
||||
|
||||
if (engineConfiguration->externalKnockSenseAdc != EFI_ADC_NONE) {
|
||||
addConsoleAction("knockinfo", getKnockInfo);
|
||||
}
|
||||
|
@ -798,7 +818,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
|
|||
// help to notice when RAM usage goes up - if a code change adds to RAM usage these variables would fail
|
||||
// linking process which is the way to raise the alarm
|
||||
#ifndef RAM_UNUSED_SIZE
|
||||
#define RAM_UNUSED_SIZE 2500
|
||||
#define RAM_UNUSED_SIZE 14000
|
||||
#endif
|
||||
#ifndef CCM_UNUSED_SIZE
|
||||
#define CCM_UNUSED_SIZE 4600
|
||||
|
@ -819,6 +839,6 @@ int getRusEfiVersion(void) {
|
|||
if (initBootloader() != 0)
|
||||
return 123;
|
||||
#endif /* EFI_BOOTLOADER_INCLUDE_CODE */
|
||||
return 20191206;
|
||||
return 20191222;
|
||||
}
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
|
|
@ -3,20 +3,19 @@
|
|||
* @brief Controllers package entry point header
|
||||
*
|
||||
* @date Feb 7, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "engine_configuration.h"
|
||||
#include "engine.h"
|
||||
|
||||
char * getPinNameByAdcChannel(const char *msg, adc_channel_e hwChannel, char *buffer);
|
||||
void initPeriodicEvents(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void commonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
void initDataStructures(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
#if EFI_ENABLE_MOCK_ADC
|
||||
void setMockVoltage(int hwChannel, float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* See http://rusefi.com/docs/html/
|
||||
*
|
||||
* @date Feb 7, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2018
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
|
@ -40,21 +40,18 @@
|
|||
#include "advance_map.h"
|
||||
#include "allsensors.h"
|
||||
#include "cyclic_buffer.h"
|
||||
#include "histogram.h"
|
||||
#include "fuel_math.h"
|
||||
#include "histogram.h"
|
||||
#include "cdm_ion_sense.h"
|
||||
#include "engine_controller.h"
|
||||
#include "efi_gpio.h"
|
||||
#if EFI_PROD_CODE
|
||||
#include "os_util.h"
|
||||
#endif /* EFI_HISTOGRAMS */
|
||||
#endif /* EFI_PROD_CODE */
|
||||
#include "local_version_holder.h"
|
||||
#include "event_queue.h"
|
||||
#include "engine.h"
|
||||
#include "perf_trace.h"
|
||||
|
||||
#include "aux_valves.h"
|
||||
#include "backup_ram.h"
|
||||
|
||||
EXTERN_ENGINE
|
||||
|
@ -342,7 +339,7 @@ static void fuelClosedLoopCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
if (GET_RPM_VALUE < CONFIG(fuelClosedLoopRpmThreshold) ||
|
||||
getCoolantTemperature() < CONFIG(fuelClosedLoopCltThreshold) ||
|
||||
getTPS(PASS_ENGINE_PARAMETER_SIGNATURE) > CONFIG(fuelClosedLoopTpsThreshold) ||
|
||||
ENGINE(sensors.currentAfr) < CONFIGB(fuelClosedLoopAfrLowThreshold) ||
|
||||
ENGINE(sensors.currentAfr) < CONFIG(fuelClosedLoopAfrLowThreshold) ||
|
||||
ENGINE(sensors.currentAfr) > engineConfiguration->fuelClosedLoopAfrHighThreshold) {
|
||||
engine->engineState.running.pidCorrection = 0;
|
||||
fuelPid.reset();
|
||||
|
@ -406,16 +403,6 @@ static ALWAYS_INLINE void handleFuel(const bool limitedFuel, uint32_t trgEventIn
|
|||
}
|
||||
}
|
||||
|
||||
#if EFI_HISTOGRAMS
|
||||
static histogram_s mainLoopHistogram;
|
||||
#endif /* EFI_HISTOGRAMS */
|
||||
|
||||
void showMainHistogram(void) {
|
||||
#if EFI_HISTOGRAMS
|
||||
printHistogram(logger, &mainLoopHistogram);
|
||||
#endif /* EFI_HISTOGRAMS */
|
||||
}
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
/**
|
||||
* this field is used as an Expression in IAR debugger
|
||||
|
@ -427,7 +414,7 @@ uint32_t *cyccnt = (uint32_t*) &DWT->CYCCNT;
|
|||
* This is the main trigger event handler.
|
||||
* Both injection and ignition are controlled from this method.
|
||||
*/
|
||||
void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
static void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
ScopePerf perf(PE::MainTriggerCallback);
|
||||
|
||||
(void) ckpSignalType;
|
||||
|
@ -440,10 +427,10 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
|
|||
*/
|
||||
return;
|
||||
}
|
||||
efiAssertVoid(CUSTOM_STACK_6629, getCurrentRemainingStack() > 128, "lowstck#2");
|
||||
efiAssertVoid(CUSTOM_STACK_6629, getCurrentRemainingStack() > EXPECTED_REMAINING_STACK, "lowstck#2a");
|
||||
|
||||
#if EFI_CDM_INTEGRATION
|
||||
if (trgEventIndex == 0 && CONFIGB(cdmInputPin) != GPIO_UNASSIGNED) {
|
||||
if (trgEventIndex == 0 && CONFIG(cdmInputPin) != GPIO_UNASSIGNED) {
|
||||
int cdmKnockValue = getCurrentCdmValue(engine->triggerCentral.triggerState.getTotalRevolutionCounter());
|
||||
engine->knockLogic(cdmKnockValue);
|
||||
}
|
||||
|
@ -484,10 +471,6 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
|
|||
warning(CUSTOM_SKIPPING_STROKE, "skipping stroke due to rpm=%d", rpm);
|
||||
}
|
||||
|
||||
#if EFI_HISTOGRAMS && EFI_PROD_CODE
|
||||
int beforeCallback = hal_lld_get_counter_value();
|
||||
#endif
|
||||
|
||||
if (trgEventIndex == 0) {
|
||||
if (HAVE_CAM_INPUT()) {
|
||||
engine->triggerCentral.validateCamVvtCounters();
|
||||
|
@ -527,11 +510,6 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
|
|||
* For spark we schedule both start of coil charge and actual spark based on trigger angle
|
||||
*/
|
||||
onTriggerEventSparkLogic(limitedSpark, trgEventIndex, rpm PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
#if EFI_HISTOGRAMS
|
||||
int diff = hal_lld_get_counter_value() - beforeCallback;
|
||||
if (diff > 0)
|
||||
hsAdd(&mainLoopHistogram, diff);
|
||||
#endif /* EFI_HISTOGRAMS */
|
||||
|
||||
if (trgEventIndex == 0) {
|
||||
ENGINE(m.mainTriggerCallbackTime) = getTimeNowLowerNt() - ENGINE(m.beforeMainTrigger);
|
||||
|
@ -609,32 +587,20 @@ void updatePrimeInjectionPulseState(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#include "engine_sniffer.h"
|
||||
#endif
|
||||
|
||||
static void showTriggerHistogram(void) {
|
||||
printAllCallbacksHistogram();
|
||||
showMainHistogram();
|
||||
#if EFI_ENGINE_SNIFFER
|
||||
showWaveChartHistogram();
|
||||
#endif
|
||||
}
|
||||
|
||||
static void showMainInfo(Engine *engine) {
|
||||
#if EFI_PROD_CODE
|
||||
int rpm = GET_RPM();
|
||||
float el = getEngineLoadT(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
scheduleMsg(logger, "rpm %d engine_load %.2f", rpm, el);
|
||||
scheduleMsg(logger, "fuel %.2fms timing %.2f", getInjectionDuration(rpm PASS_ENGINE_PARAMETER_SUFFIX), engine->engineState.timingAdvance);
|
||||
#endif
|
||||
#endif /* EFI_PROD_CODE */
|
||||
}
|
||||
|
||||
void initMainEventListener(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
logger = sharedLogger;
|
||||
efiAssertVoid(CUSTOM_ERR_6631, engine!=NULL, "null engine");
|
||||
initSparkLogic(logger);
|
||||
|
||||
initAuxValves(logger PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
#if EFI_PROD_CODE
|
||||
addConsoleAction("performanceinfo", showTriggerHistogram);
|
||||
addConsoleActionP("maininfo", (VoidPtr) showMainInfo, engine);
|
||||
|
||||
printMsg(logger, "initMainLoop: %d", currentTimeMillis());
|
||||
|
@ -642,10 +608,6 @@ void initMainEventListener(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX
|
|||
printMsg(logger, "!!!!!!!!!!!!!!!!!!! injection disabled");
|
||||
#endif
|
||||
|
||||
#if EFI_HISTOGRAMS
|
||||
initHistogram(&mainLoopHistogram, "main callback");
|
||||
#endif /* EFI_HISTOGRAMS */
|
||||
|
||||
addTriggerEventListener(mainTriggerCallback, "main loop", engine);
|
||||
|
||||
// We start prime injection pulse at the early init stage - don't wait for the engine to start spinning!
|
||||
|
|
|
@ -4,32 +4,23 @@
|
|||
*
|
||||
*
|
||||
* @date Feb 9, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2017
|
||||
* @author Andrey Belomutskiy, (c) 2012-2019
|
||||
*/
|
||||
|
||||
#ifndef MAIN_LOOP_H_
|
||||
#define MAIN_LOOP_H_
|
||||
#pragma once
|
||||
|
||||
#include "engine.h"
|
||||
|
||||
#include "event_registry.h"
|
||||
|
||||
void initMainEventListener(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t eventIndex DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
|
||||
int isIgnitionTimingError(void);
|
||||
void startPrimeInjectionPulse(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
void showMainHistogram(void);
|
||||
|
||||
void startSimultaniousInjection(Engine *engine);
|
||||
void endSimultaniousInjection(InjectionEvent *event);
|
||||
void seTurnPinHigh(InjectionEvent *event);
|
||||
void seTurnPinLow(InjectionEvent *event);
|
||||
|
||||
float getFuel(int rpm, float key);
|
||||
|
||||
// reset injection switch counter if the engine started spinning
|
||||
void updatePrimeInjectionPulseState(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
#endif /* MAIN_LOOP_H_ */
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue