diff --git a/firmware/config/engines/citroenBerlingoTU3JP.cpp b/firmware/config/engines/citroenBerlingoTU3JP.cpp index b20f7e2028..1aa6e8ee38 100644 --- a/firmware/config/engines/citroenBerlingoTU3JP.cpp +++ b/firmware/config/engines/citroenBerlingoTU3JP.cpp @@ -29,55 +29,75 @@ void setCitroenBerlingoTU3JPConfiguration(engine_configuration_s *engineConfigur // rpm limiter engineConfiguration->rpmHardLimit = 5000; - // set thermistor - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, -40.0, 100700.0, 25.0, 2796.0, 100.0, 177.0); - engineConfiguration->cltThermistorConf.bias_resistor = 2700; // eah winter is hard, sensor as LADA Samara :) - - setThermistorConfiguration(&engineConfiguration->iatThermistorConf, -20.0, 15600.0, 23.0, 2250.0, 92.0, 240.0); - engineConfiguration->iatThermistorConf.bias_resistor = 2700; // same as OEM ECU - /** * Outputs */ // Frankenstain low out #3: PE6 injector 1-4 // Frankenstain low out #4: PC13 injector 2-3 -// boardConfiguration->o2heaterPin = GPIOC_13; - boardConfiguration->injectionPins[0] = GPIOE_6; boardConfiguration->injectionPins[1] = GPIOC_13; boardConfiguration->injectionPins[2] = GPIO_NONE; boardConfiguration->injectionPins[3] = GPIO_NONE; -// boardConfiguration->ignitionPins[0] = GPIOE_NONE; +// boardConfiguration->ignitionPins[0] = GPIO_NONE; // boardConfiguration->ignitionPins[1] = GPIO_NONE; // boardConfiguration->ignitionPins[2] = GPIO_NONE; // boardConfiguration->ignitionPins[3] = GPIO_NONE; - boardConfiguration->fuelPumpPin = GPIOE_3; // temporary value pin + boardConfiguration->fuelPumpPin = GPIOB_9; boardConfiguration->fuelPumpPinMode = OM_DEFAULT; +// boardConfiguration->o2heaterPin = GPIOC_13; // boardConfiguration->logicAnalyzerPins[1] = GPIO_NONE; - // Frankenstein analog input #1: adc1 - // Frankenstein analog input #2: adc3 - // Frankenstein analog input #3: adc13 - // Frankenstein analog input #4: adc11 - // todo: see https://docs.google.com/spreadsheet/ccc?key=0Arl1FeMZcfisdEdGdUlHdWh6cVBoSzFIbkxqa1QtZ3c - // Frankenstein analog input #5: adc - // Frankenstein analog input #6: adc - // Frankenstein analog input #7: adc - // Frankenstein analog input #8: adc - // Frankenstein analog input #9: adc - // Frankenstein analog input #10: adc - // Frankenstein analog input #11: adc - // Frankenstein analog input #12: adc - engineConfiguration->mafAdcChannel = EFI_ADC_1; - engineConfiguration->tpsAdcChannel = EFI_ADC_3; - engineConfiguration->cltAdcChannel = EFI_ADC_11; + /** + * Inputs + */ + // See https://docs.google.com/spreadsheet/ccc?key=0Arl1FeMZcfisdEdGdUlHdWh6cVBoSzFIbkxqa1QtZ3c + // Frankenstein analog input #1: PA1 adc1 *2.9 *0.6 + // Frankenstein analog input #2: PA3 adc3 *2.9 *1.0 + // Frankenstein analog input #3: PC3 adc13 *2.5 *0.005 + // Frankenstein analog input #4: PC1 adc11 *0.05 *1.5 + // Frankenstein analog input #5: PA0 adc0 *0.05 *0.01 + // Frankenstein analog input #6: PC2 adc12 *0.06 *1.2 + // Frankenstein analog input #7: PA4 adc4 *3.0 *0.4 + // Frankenstein analog input #8: PA2 adc2 *2.9 *0.9 + // Frankenstein analog input #9: PA6 adc6 *3.0 *6.0 + // Frankenstein analog input #10: PA7 adc7 *2.9 *2.35 + // Frankenstein analog input #11: PC4 adc14 *0.00 *0.00 + // Frankenstein analog input #12: PC5 adc15 *0.00 *0.00 + + /** + * MAP + */ + engineConfiguration->mafAdcChannel = EFI_ADC_1; engineConfiguration->map.sensor.sensorType = MT_CUSTOM; engineConfiguration->map.sensor.customValueAt0 = 20; engineConfiguration->map.sensor.customValueAt5 = 200; + /** + * TPS + */ + engineConfiguration->tpsAdcChannel = EFI_ADC_3; + engineConfiguration->tpsMin = 100; + engineConfiguration->tpsMax = 750; + /** + * IAT + */ + engineConfiguration->iatAdcChannel = EFI_ADC_13; + setThermistorConfiguration(&engineConfiguration->iatThermistorConf, -20.0, 15600.0, 23.0, 2250.0, 92.0, 240.0); + engineConfiguration->iatThermistorConf.bias_resistor = 2700; // same as OEM ECU + /** + * CLT + */ + engineConfiguration->cltAdcChannel = EFI_ADC_15; + setThermistorConfiguration(&engineConfiguration->cltThermistorConf, -20.0, 28680.0, 25.0, 2796.0, 100.0, 177.0); + engineConfiguration->cltThermistorConf.bias_resistor = 2700; // eah winter is hard, sensor as LADA Samara :) + /** + * vBatt + */ + engineConfiguration->vbattAdcChannel = EFI_ADC_0; + engineConfiguration->vbattDividerCoeff = ((float) (2.7 + 10)) / 2.7 * 2; } diff --git a/firmware/config/engines/ford_1995_inline_6.cpp b/firmware/config/engines/ford_1995_inline_6.cpp index 5c941d5dac..66dafbbbd4 100644 --- a/firmware/config/engines/ford_1995_inline_6.cpp +++ b/firmware/config/engines/ford_1995_inline_6.cpp @@ -102,7 +102,7 @@ void setFordInline6(engine_configuration_s *engineConfiguration, board_configura engineConfiguration->tpsMin = convertVoltageTo10bitADC(1.250); engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538); - // engineConfiguration->vBattAdcChannel = 0; // + // engineConfiguration->vbattAdcChannel = 0; // // engineConfiguration->mafAdcChannel = 1; boardConfiguration->triggerInputPins[0] = GPIOA_8; diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index f8dcd5df69..b294d7e73b 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -149,7 +149,7 @@ void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguratio engineConfiguration->tpsAdcChannel = EFI_ADC_3; - engineConfiguration->vBattAdcChannel = EFI_ADC_0; + engineConfiguration->vbattAdcChannel = EFI_ADC_0; engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; engineConfiguration->mafAdcChannel = EFI_ADC_1; engineConfiguration->cltAdcChannel = EFI_ADC_11; diff --git a/firmware/config/engines/honda_accord.cpp b/firmware/config/engines/honda_accord.cpp index d17d076182..70dec2f6ef 100644 --- a/firmware/config/engines/honda_accord.cpp +++ b/firmware/config/engines/honda_accord.cpp @@ -117,7 +117,7 @@ static void setHondaAccordConfigurationCommon(engine_configuration_s *engineConf /** * VBatt */ - engineConfiguration->vBattAdcChannel = EFI_ADC_14; + engineConfiguration->vbattAdcChannel = EFI_ADC_14; engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2; // todo engineConfiguration->afrSensor.afrAdcChannel = 14; diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index bc123a90d8..023d9de5b5 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -241,6 +241,13 @@ void setMiata1994(engine_configuration_s *engineConfiguration, board_configurati setFrankenso_01_LCD(boardConfiguration); + + /** + * VBatt + */ + engineConfiguration->vbattAdcChannel = EFI_ADC_14; + engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2; + } /** diff --git a/firmware/config/engines/mazda_miata_nb.cpp b/firmware/config/engines/mazda_miata_nb.cpp index 1ee33e2273..1c5a7285ce 100644 --- a/firmware/config/engines/mazda_miata_nb.cpp +++ b/firmware/config/engines/mazda_miata_nb.cpp @@ -35,7 +35,7 @@ void setMazdaMiataNbEngineConfiguration(engine_configuration_s *engineConfigurat engineConfiguration->iatThermistorConf.bias_resistor = 2700; engineConfiguration->tpsAdcChannel = EFI_ADC_3; // 15 is the old value - engineConfiguration->vBattAdcChannel = EFI_ADC_0; // 1 is the old value + engineConfiguration->vbattAdcChannel = EFI_ADC_0; // 1 is the old value // engineConfiguration->map.channel = 1; engineConfiguration->mafAdcChannel = EFI_ADC_1; engineConfiguration->cltAdcChannel = EFI_ADC_11; diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index fd4aa57a17..0b8e49c402 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -219,7 +219,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ engineConfiguration->HD44780height = 4; engineConfiguration->tpsAdcChannel = EFI_ADC_3; - engineConfiguration->vBattAdcChannel = EFI_ADC_5; + engineConfiguration->vbattAdcChannel = EFI_ADC_5; engineConfiguration->cltAdcChannel = EFI_ADC_6; engineConfiguration->iatAdcChannel = EFI_ADC_7; engineConfiguration->mafAdcChannel = EFI_ADC_0; diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index 293113e0d6..fcc695bba4 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -360,7 +360,7 @@ typedef struct { trigger_config_s triggerConfig; int space; - adc_channel_e vBattAdcChannel; + adc_channel_e vbattAdcChannel; float globalFuelCorrection; diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index b0c248068a..737ff0b4ae 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -230,7 +230,7 @@ static void printAnalogInfo(void) { printAnalogChannelInfo("AFR", engineConfiguration->afrSensor.afrAdcChannel); printAnalogChannelInfo("MAP", engineConfiguration->map.sensor.hwChannel); printAnalogChannelInfo("BARO", engineConfiguration->baroSensor.hwChannel); - printAnalogChannelInfoExt("Vbatt", engineConfiguration->vBattAdcChannel, getVBatt()); + printAnalogChannelInfoExt("Vbatt", engineConfiguration->vbattAdcChannel, getVBatt()); } static THD_WORKING_AREA(csThreadStack, UTILITY_THREAD_STACK_SIZE); // declare thread stack diff --git a/firmware/controllers/sensors/voltage.c b/firmware/controllers/sensors/voltage.c index 1ebdca7396..0ef1ee6af4 100644 --- a/firmware/controllers/sensors/voltage.c +++ b/firmware/controllers/sensors/voltage.c @@ -21,5 +21,5 @@ float getVRef(void) { } float getVBatt(void) { - return getVoltage(engineConfiguration->vBattAdcChannel) * engineConfiguration->vbattDividerCoeff; + return getVoltage(engineConfiguration->vbattAdcChannel) * engineConfiguration->vbattDividerCoeff; }