From 0f3cd8f320a4318103cf7a6f8bf416dd2938f952 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sun, 24 May 2015 12:12:31 -0400 Subject: [PATCH] auto-sync --- firmware/config/engines/engines.mk | 3 +- firmware/config/engines/vw.cpp | 23 +++++++ firmware/config/engines/vw.h | 15 +++++ .../controllers/algo/auto_generated_enums.cpp | 2 + .../controllers/algo/engine_configuration.cpp | 5 +- ...ngine_configuration_generated_structures.h | 60 ++++++++++++------- firmware/controllers/algo/rusefi_enums.h | 4 +- firmware/controllers/algo/rusefi_generated.h | 29 +++++---- firmware/controllers/alternatorController.cpp | 13 ++-- firmware/controllers/flash_main.cpp | 3 - firmware/controllers/flash_main.h | 3 +- firmware/controllers/settings.cpp | 6 +- firmware/iar/ch.ewp | 18 ++++-- firmware/integration/rusefi_config.txt | 24 ++++---- firmware/rusefi.cpp | 2 +- firmware/svnversion.h | 4 +- firmware/tunerstudio/rusefi.ini | 33 +++++++--- unit_tests/test_trigger_decoder.cpp | 2 + 18 files changed, 173 insertions(+), 76 deletions(-) create mode 100644 firmware/config/engines/vw.cpp create mode 100644 firmware/config/engines/vw.h diff --git a/firmware/config/engines/engines.mk b/firmware/config/engines/engines.mk index c02c37e65b..a782d5df4d 100644 --- a/firmware/config/engines/engines.mk +++ b/firmware/config/engines/engines.mk @@ -26,5 +26,6 @@ ENGINES_SRC_CPP = $(PROJECT_DIR)/config/engines/ford_aspire.cpp \ $(PROJECT_DIR)/config/engines/test_engine.cpp \ $(PROJECT_DIR)/config/engines/mitsubishi.cpp \ $(PROJECT_DIR)/config/engines/gm_2_2.cpp \ - $(PROJECT_DIR)/config/engines/dodge_ram.cpp + $(PROJECT_DIR)/config/engines/dodge_ram.cpp \ + $(PROJECT_DIR)/config/engines/vw.cpp \ No newline at end of file diff --git a/firmware/config/engines/vw.cpp b/firmware/config/engines/vw.cpp new file mode 100644 index 0000000000..e27129850f --- /dev/null +++ b/firmware/config/engines/vw.cpp @@ -0,0 +1,23 @@ +/* + * @file vw.cpp + * + * set_engine_type 32 + * + * @date May 24, 2015 + * @author Andrey Belomutskiy, (c) 2012-2015 + */ + +#include "main.h" +#include "vw.h" +#include "custom_engine.h" + +EXTERN_ENGINE; + +void setVwAba(DECLARE_ENGINE_PARAMETER_F) { + setCustomEngineConfiguration(PASS_ENGINE_PARAMETER_F); + + setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR); + +} + + diff --git a/firmware/config/engines/vw.h b/firmware/config/engines/vw.h new file mode 100644 index 0000000000..a905aa26da --- /dev/null +++ b/firmware/config/engines/vw.h @@ -0,0 +1,15 @@ +/* + * @file vw.h + * + * @date May 24, 2015 + * @author Andrey Belomutskiy, (c) 2012-2015 + */ + +#ifndef CONFIG_ENGINES_VW_H_ +#define CONFIG_ENGINES_VW_H_ + +#include "engine.h" + +void setVwAba(DECLARE_ENGINE_PARAMETER_F); + +#endif /* CONFIG_ENGINES_VW_H_ */ diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 4c8106a2ed..ec3ef28488 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -78,6 +78,8 @@ case SUBARU_2003_WRX: return "SUBARU_2003_WRX"; case TEST_ENGINE: return "TEST_ENGINE"; +case VW_ABA: + return "VW_ABA"; } return NULL; } diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 9d3b8dea72..5783ad65c7 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -59,6 +59,7 @@ #include "sachs.h" #include "gm_2_2.h" #include "dodge_ram.h" +#include "vw.h" EXTERN_ENGINE; @@ -363,7 +364,6 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) { engineConfiguration->algorithm = LM_PLAIN_MAF; engineConfiguration->vbattDividerCoeff = ((float) (15 + 65)) / 15; - boardConfiguration->targetVBatt = 14; engineConfiguration->fanOnTemperature = 75; engineConfiguration->fanOffTemperature = 70; @@ -692,6 +692,9 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN case DODGE_RAM: setDodgeRam1996(PASS_ENGINE_PARAMETER_F); break; + case VW_ABA: + setVwAba(PASS_ENGINE_PARAMETER_F); + break; case TEST_ENGINE: setTestEngineConfiguration(PASS_ENGINE_PARAMETER_F); break; diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 810ad3a8cb..76bad5e976 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated by config_definition.jar on Sun May 24 09:49:35 EDT 2015 +// this section was generated by config_definition.jar on Sun May 24 11:16:32 EDT 2015 // begin #include "rusefi_types.h" typedef struct { @@ -396,11 +396,7 @@ typedef struct { /** * offset 232 */ - float unusedADC[15]; - /** - * offset 292 - */ - float targetVBatt; + float unusedADC[16]; /** * offset 296 */ @@ -565,10 +561,9 @@ typedef struct { */ brain_pin_e hip9011IntHoldPin; /** - * Turn off alternator output above specified TPS * offset 656 */ - float alternatorOffAboveTps; + int unused113234; /** * offset 660 */ @@ -662,7 +657,7 @@ typedef struct { /** * offset 868 */ - int alternatorDT; + int unused2342342; /** total size 872*/ } board_configuration_s; @@ -939,7 +934,7 @@ typedef struct { /** * offset 604 */ - float alternatorOffset; + int unused123; /** * @see hasBaroSensor * offset 608 @@ -1125,15 +1120,7 @@ typedef struct { /** * offset 1624 */ - float alternatorControlPFactor; - /** - * offset 1628 - */ - float alternatorControlIFactor; - /** - * offset 1632 - */ - float alternatorControlDFactor; + int unsed2342342[3]; /** * offset 1636 */ @@ -1165,7 +1152,38 @@ typedef struct { /** * offset 1748 */ - int unused3[109]; + int unused3[102]; + /** + * offset 2156 + */ + float targetVBatt; + /** + * Turn off alternator output above specified TPS + * offset 2160 + */ + float alternatorOffAboveTps; + /** + * PID dTime + * offset 2164 + */ + int alternatorDT; + /** + * Linear addition to PID logic + * offset 2168 + */ + float alternatorOffset; + /** + * offset 2172 + */ + float alternatorControlPFactor; + /** + * offset 2176 + */ + float alternatorControlIFactor; + /** + * offset 2180 + */ + float alternatorControlDFactor; /** * offset 2184 */ @@ -1345,4 +1363,4 @@ typedef struct { } persistent_config_s; // end -// this section was generated by config_definition.jar on Sun May 24 09:49:35 EDT 2015 +// this section was generated by config_definition.jar on Sun May 24 11:16:32 EDT 2015 diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 4087297285..a0e283cc08 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -99,7 +99,9 @@ typedef enum { DODGE_RAM = 31, - ET_UNUSED = 32, + VW_ABA = 32, + + ET_UNUSED = 33, Force_4b_engine_type = ENUM_32_BITS, } engine_type_e; diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 6bec50f7e0..02eceba299 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -196,7 +196,7 @@ #define afr_v2_offset_hex 254 #define afr_value2_offset 600 #define afr_value2_offset_hex 258 -#define alternatorOffset_offset 604 +#define unused123_offset 604 #define baroSensor_offset 608 #define baroSensor_offset_hex 260 #define baroSensor_valueAt0_offset 608 @@ -296,8 +296,6 @@ #define digitalPotentiometerChipSelect4_offset_hex 354 #define unusedADC_offset 856 #define unusedADC_offset_hex 358 -#define targetVBatt_offset 916 -#define targetVBatt_offset_hex 394 #define triggerInputPins1_offset 920 #define triggerInputPins1_offset_hex 398 #define triggerInputPins2_offset 924 @@ -437,8 +435,8 @@ #define fsioFrequency16_offset 1270 #define hip9011CsPin_offset 1272 #define hip9011IntHoldPin_offset 1276 -#define alternatorOffAboveTps_offset 1280 -#define alternatorOffAboveTps_offset_hex 500 +#define unused113234_offset 1280 +#define unused113234_offset_hex 500 #define fsio_setting1_offset 1284 #define fsio_setting1_offset_hex 504 #define fsio_setting2_offset 1288 @@ -520,7 +518,7 @@ #define fsioDigitalInputs14_offset 1480 #define fsioDigitalInputs15_offset 1484 #define fsioDigitalInputs16_offset 1488 -#define alternatorDT_offset 1492 +#define unused2342342_offset 1492 #define hasMapSensor_offset 1496 #define hasIatSensor_offset 1496 #define hasBaroSensor_offset 1496 @@ -603,11 +601,8 @@ #define fsioInputModes16_offset_hex 650 #define externalKnockSenseAdc_offset 1620 #define externalKnockSenseAdc_offset_hex 654 -#define alternatorControlPFactor_offset 1624 -#define alternatorControlPFactor_offset_hex 658 -#define alternatorControlIFactor_offset 1628 -#define alternatorControlDFactor_offset 1632 -#define alternatorControlDFactor_offset_hex 660 +#define unsed2342342_offset 1624 +#define unsed2342342_offset_hex 658 #define idleStepperTotalSteps_offset 1636 #define idleStepperTotalSteps_offset_hex 664 #define stepperEnablePin_offset 1640 @@ -622,6 +617,18 @@ #define baroCorrTable_offset 1684 #define baroCorrTable_offset_hex 694 #define unused3_offset 1748 +#define targetVBatt_offset 2156 +#define alternatorOffAboveTps_offset 2160 +#define alternatorOffAboveTps_offset_hex 870 +#define alternatorDT_offset 2164 +#define alternatorDT_offset_hex 874 +#define alternatorOffset_offset 2168 +#define alternatorOffset_offset_hex 878 +#define alternatorControlPFactor_offset 2172 +#define alternatorControlIFactor_offset 2176 +#define alternatorControlIFactor_offset_hex 880 +#define alternatorControlDFactor_offset 2180 +#define alternatorControlDFactor_offset_hex 884 #define tpsAccelLength_offset 2184 #define tpsAccelLength_offset_hex 888 #define tpsAccelEnrichmentThreshold_offset 2188 diff --git a/firmware/controllers/alternatorController.cpp b/firmware/controllers/alternatorController.cpp index bfee2708e4..941f8aa3ff 100644 --- a/firmware/controllers/alternatorController.cpp +++ b/firmware/controllers/alternatorController.cpp @@ -34,9 +34,9 @@ static float currentAltDuty; static msg_t AltCtrlThread(int param) { chRegSetThreadName("AlternatorController"); while (true) { - chThdSleepMilliseconds(boardConfiguration->alternatorDT); + chThdSleepMilliseconds(engineConfiguration->alternatorDT); - currentAltDuty = engineConfiguration->alternatorOffset + altPid.getValue(boardConfiguration->targetVBatt, getVBatt(PASS_ENGINE_PARAMETER_F), 1); + currentAltDuty = engineConfiguration->alternatorOffset + altPid.getValue(engineConfiguration->targetVBatt, getVBatt(PASS_ENGINE_PARAMETER_F), 1); if (boardConfiguration->isVerboseAlternator) { scheduleMsg(logger, "alt duty: %f/vbatt=%f/p=%f/i=%f/d=%f int=%f", currentAltDuty, getVBatt(PASS_ENGINE_PARAMETER_F), altPid.getP(), altPid.getI(), altPid.getD(), altPid.getIntegration()); @@ -56,11 +56,11 @@ static void applySettings(void) { void showAltInfo(void) { scheduleMsg(logger, "alt=%s @%s t=%dms", boolToString(engineConfiguration->isAlternatorControlEnabled), hwPortname(boardConfiguration->alternatorControlPin), - boardConfiguration->alternatorDT); + engineConfiguration->alternatorDT); scheduleMsg(logger, "p=%f/i=%f/d=%f offset=%f", engineConfiguration->alternatorControlPFactor, 0, 0, engineConfiguration->alternatorOffset); // todo: i & d scheduleMsg(logger, "vbatt=%f/duty=%f/target=%f", getVBatt(PASS_ENGINE_PARAMETER_F), currentAltDuty, - boardConfiguration->targetVBatt); + engineConfiguration->targetVBatt); } void setAltPFactor(float p) { @@ -80,14 +80,15 @@ static void applyAlternatorPinState(PwmConfig *state, int stateIndex) { } void setDefaultAlternatorParameters(void) { - boardConfiguration->alternatorOffAboveTps = 120; + engineConfiguration->alternatorOffAboveTps = 120; boardConfiguration->alternatorControlPin = GPIO_UNASSIGNED; boardConfiguration->alternatorControlPinMode = OM_DEFAULT; + engineConfiguration->targetVBatt = 14; engineConfiguration->alternatorOffset = 0; engineConfiguration->alternatorControlPFactor = 30; - boardConfiguration->alternatorDT = 100; + engineConfiguration->alternatorDT = 100; } void initAlternatorCtrl(Logging *sharedLogger) { diff --git a/firmware/controllers/flash_main.cpp b/firmware/controllers/flash_main.cpp index 97edab4e9f..b807e84cf1 100644 --- a/firmware/controllers/flash_main.cpp +++ b/firmware/controllers/flash_main.cpp @@ -21,12 +21,9 @@ #if EFI_INTERNAL_FLASH || defined(__DOXYGEN__) #include "engine_controller.h" - #include "datalogging.h" - #include "engine.h" - static bool needToWriteConfiguration = false; EXTERN_ENGINE; diff --git a/firmware/controllers/flash_main.h b/firmware/controllers/flash_main.h index 5352f8c71e..1c3b130678 100644 --- a/firmware/controllers/flash_main.h +++ b/firmware/controllers/flash_main.h @@ -9,10 +9,9 @@ #ifndef FLASH_MAIN_H_ #define FLASH_MAIN_H_ -#include "engine_configuration.h" #include "engine.h" -#define FLASH_DATA_VERSION 8100 +#define FLASH_DATA_VERSION 8201 void readFromFlash(void); void initFlash(Logging *sharedLogger, Engine *engine); diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 4c0ab7b689..a183be3531 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -171,6 +171,8 @@ const char* getConfigurationName(engine_type_e engineType) { return "BMWe34"; case TEST_ENGINE: return "Test"; + case VW_ABA: + return "VW_ABA"; case SACHS: return "SACHS"; case GM_2_2: @@ -946,7 +948,7 @@ static void setValue(const char *paramStr, const char *valueStr) { #if EFI_PROD_CODE } else if (strEqualCaseInsensitive(paramStr, "alt_t")) { if (valueI > 10) { - boardConfiguration->alternatorDT = valueI; + engineConfiguration->alternatorDT = valueI; } showAltInfo(); } else if (strEqualCaseInsensitive(paramStr, "alt_offset")) { @@ -955,7 +957,7 @@ static void setValue(const char *paramStr, const char *valueStr) { setAltPFactor(valueF); #endif } else if (strEqualCaseInsensitive(paramStr, "targetvbatt")) { - boardConfiguration->targetVBatt = valueF; + engineConfiguration->targetVBatt = valueF; } } diff --git a/firmware/iar/ch.ewp b/firmware/iar/ch.ewp index 96a91d70af..f7efaafd3c 100644 --- a/firmware/iar/ch.ewp +++ b/firmware/iar/ch.ewp @@ -2063,6 +2063,12 @@ $PROJ_DIR$\..\config\engines\test_engine.h + + $PROJ_DIR$\..\config\engines\vw.cpp + + + $PROJ_DIR$\..\config\engines\vw.h + stm32f4ems @@ -2565,12 +2571,6 @@ $PROJ_DIR$\..\development\test\testbmk.h - - $PROJ_DIR$\..\development\sensor_chart.cpp - - - $PROJ_DIR$\..\development\sensor_chart.h - $PROJ_DIR$\..\development\engine_emulator.cpp @@ -2583,6 +2583,12 @@ $PROJ_DIR$\..\development\rfi_perftest.h + + $PROJ_DIR$\..\development\sensor_chart.cpp + + + $PROJ_DIR$\..\development\sensor_chart.h + $PROJ_DIR$\..\development\trigger_emulator.cpp diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index bc95d647a6..3d4606ef4e 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -290,7 +290,7 @@ end_struct afr_sensor_s afr;@see hasAfrSensor - float alternatorOffset; +int unused123; air_pressure_sensor_config_s baroSensor;@see hasBaroSensor @@ -351,8 +351,7 @@ spi_device_e digitalPotentiometerSpiDevice;Digital Potentiometer is used by stoc brain_pin_e[DIGIPOT_COUNT iterate] digitalPotentiometerChipSelect; custom adc_channel_mode_e 4 bits, U32, @OFFSET@, [0:1], "Off", "Slow", "Fast", "INVALID" - float[15] unusedADC; - float targetVBatt; + float[16] unusedADC; brain_input_pin_e[3 iterate] triggerInputPins; @@ -419,8 +418,7 @@ custom fsio_pwm_freq_t 2 scalar, U16, @OFFSET@, "Hz", 1, 0, brain_pin_e hip9011CsPin; brain_pin_e hip9011IntHoldPin; - float alternatorOffAboveTps;Turn off alternator output above specified TPS;"%", 1, 0, 0, 200, 2 - +int unused113234; custom fsio_setting_t 4 scalar, F32, @OFFSET@, "Val", 1, 0, 0, 18000, 0 fsio_setting_t[LE_COMMAND_COUNT iterate] fsio_setting; brain_pin_e spi1mosiPin; @@ -450,7 +448,7 @@ brain_input_pin_e vehicleSpeedSensorInputPin; pin_input_mode_e clutchUpPinMode; brain_pin_e[LE_COMMAND_COUNT iterate] fsioDigitalInputs;These input pins allow us to pull toggle buttons state; - int alternatorDT; +int unused2342342; end_struct @@ -526,9 +524,7 @@ custom pin_input_mode_e 4 scalar, F32, @OFFSET@, "ms", 1, 0, 0, 200, 1 pin_input_mode_e[LE_COMMAND_COUNT iterate] fsioInputModes; adc_channel_e externalKnockSenseAdc; - float alternatorControlPFactor; - float alternatorControlIFactor; - float alternatorControlDFactor; + int[3] unsed2342342; int idleStepperTotalSteps;;"count", 1, 0, 5, 3000, 0 brain_pin_e stepperEnablePin; @@ -540,7 +536,15 @@ float[BARO_CORR_SIZE] baroCorrPressureBins;;"kPa", 1, 0, 0.0, 200, float[BARO_CORR_SIZE] baroCorrRpmBins;;"RPM", 1, 0, 0.0, 18000, 2 baro_corr_table_t baroCorrTable; - int[109] unused3; + int[102] unused3; + + float targetVBatt;;"Volts", 1, 0, 0,30, 1 + float alternatorOffAboveTps;Turn off alternator output above specified TPS;"%", 1, 0, 0, 200, 2 + int alternatorDT;PID dTime;"ms", 1, 0, 0, 3000, 0 + float alternatorOffset;Linear addition to PID logic;"%", 1, 0, 0, 100, 2 + float alternatorControlPFactor;;"value", 1, 0, 0, 1000, 2 + float alternatorControlIFactor;;"value", 1, 0, 0, 1000, 2 + float alternatorControlDFactor;;"value", 1, 0, 0, 1000, 2 int tpsAccelLength;;"len", 1, 0, 1, 200, 3 float tpsAccelEnrichmentThreshold;;"roc", 1, 0, 0, 200, 3 diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index e8cafbdbfb..ff34796b3a 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -291,5 +291,5 @@ int getRusEfiVersion(void) { return 123; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE[0] * 0 != 0) return 3211; // this is here to make the compiler happy about the unused array - return 20150523; + return 20150524; } diff --git a/firmware/svnversion.h b/firmware/svnversion.h index 39ee61c649..69bfa5b0a7 100644 --- a/firmware/svnversion.h +++ b/firmware/svnversion.h @@ -1,5 +1,5 @@ // This file was generated by Version2Header -// Wed Apr 29 20:09:03 EDT 2015 +// Sun May 24 11:32:47 EDT 2015 #ifndef VCS_VERSION -#define VCS_VERSION "7963" +#define VCS_VERSION "8220" #endif diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 4f6fea00d6..743103108d 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -40,7 +40,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated by ConfigDefinition.jar on Sun May 24 09:49:39 EDT 2015 +; this section was generated by ConfigDefinition.jar on Sun May 24 11:16:37 EDT 2015 pageSize = 15288 page = 1 @@ -143,7 +143,7 @@ page = 1 afr_value1 = scalar, F32, 592, "AFR", 1, 0.0, 0, 1000.0, 2 afr_v2 = scalar, F32, 596, "volts", 1, 0.0, 0, 10.0, 2 afr_value2 = scalar, F32, 600, "AFR", 1, 0.0, 0, 1000.0, 2 -;skipping alternatorOffset offset 604 +;skipping unused123 offset 604 baroSensor_valueAt0 = scalar, F32, 608, "kpa", 1, 0, 0, 450, 2 baroSensor_valueAt5 = scalar, F32, 612, "kpa", 1, 0, 0, 450, 2 baroSensor_type = bits, U32, 616, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "INVALID", "INVALID" @@ -207,7 +207,6 @@ page = 1 digitalPotentiometerChipSelect3 = bits, U32, 848, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" digitalPotentiometerChipSelect4 = bits, U32, 852, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ;skipping unusedADC offset 856 -;skipping targetVBatt offset 916 triggerInputPins1 = bits, U32, 920, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" triggerInputPins2 = bits, U32, 924, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" triggerInputPins3 = bits, U32, 928, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" @@ -316,7 +315,7 @@ page = 1 fsioFrequency16 = scalar, U16, 1270, "Hz", 1, 0, 0, 3000, 0 hip9011CsPin = bits, U32, 1272, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" hip9011IntHoldPin = bits, U32, 1276, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" - alternatorOffAboveTps = scalar, F32, 1280, "%", 1, 0, 0, 200, 2 +;skipping unused113234 offset 1280 fsio_setting1 = scalar, F32, 1284, "Val", 1, 0, 0, 18000, 0 fsio_setting2 = scalar, F32, 1288, "Val", 1, 0, 0, 18000, 0 fsio_setting3 = scalar, F32, 1292, "Val", 1, 0, 0, 18000, 0 @@ -369,7 +368,7 @@ page = 1 fsioDigitalInputs14 = bits, U32, 1480, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" fsioDigitalInputs15 = bits, U32, 1484, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" fsioDigitalInputs16 = bits, U32, 1488, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" -;skipping alternatorDT offset 1492 +;skipping unused2342342 offset 1492 hasMapSensor = bits, U32, 1496, [0:0], "false", "true" hasIatSensor = bits, U32, 1496, [1:1], "false", "true" hasBaroSensor = bits, U32, 1496, [2:2], "false", "true" @@ -435,9 +434,7 @@ page = 1 fsioInputModes15 = scalar, F32, 1612, "ms", 1, 0, 0, 200, 1 fsioInputModes16 = scalar, F32, 1616, "ms", 1, 0, 0, 200, 1 externalKnockSenseAdc = bits, U32, 1620, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" -;skipping alternatorControlPFactor offset 1624 -;skipping alternatorControlIFactor offset 1628 -;skipping alternatorControlDFactor offset 1632 +;skipping unsed2342342 offset 1624 idleStepperTotalSteps = scalar, S32, 1636, "count", 1, 0, 5, 3000, 0 stepperEnablePin = bits, U32, 1640, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" noAccelAfterHardLimitPeriodSecs = scalar, F32, 1644, "sec", 1, 0, 0, 60, 0 @@ -446,6 +443,13 @@ page = 1 baroCorrRpmBins = array, F32, 1668, [4], "RPM", 1, 0, 0.0, 18000, 2 baroCorrTable = array, F32, 1684, [4x4],"%", 1, 0, 0, 999.0, 2 ;skipping unused3 offset 1748 + targetVBatt = scalar, F32, 2156, "Volts", 1, 0, 0,30, 1 + alternatorOffAboveTps = scalar, F32, 2160, "%", 1, 0, 0, 200, 2 + alternatorDT = scalar, S32, 2164, "ms", 1, 0, 0, 3000, 0 + alternatorOffset = scalar, F32, 2168, "%", 1, 0, 0, 100, 2 + alternatorControlPFactor = scalar, F32, 2172, "value", 1, 0, 0, 1000, 2 + alternatorControlIFactor = scalar, F32, 2176, "value", 1, 0, 0, 1000, 2 + alternatorControlDFactor = scalar, F32, 2180, "value", 1, 0, 0, 1000, 2 tpsAccelLength = scalar, S32, 2184, "len", 1, 0, 1, 200, 3 tpsAccelEnrichmentThreshold = scalar, F32, 2188, "roc", 1, 0, 0, 200, 3 tpsAccelEnrichmentMultiplier = scalar, F32, 2192, "coeff", 1, 0, 0, 200, 3 @@ -1194,7 +1198,18 @@ fileVersion = { 20150522 } field = "vBatt ADC input", vbattAdcChannel field = "Battery Input Divider Coefficient", vbattDividerCoeff dialog = alternator, "Alternator Settings", yAxis - field = "#There could be setting the alternator" + field = "Enabled", isAlternatorControlEnabled + field = "Verbose", isVerboseAlternator + field = "Target", targetVBatt + field = "Pin", alternatorControlPin + field = "Pin Mode", alternatorControlPinMode + field = "Off Above TPS", alternatorOffAboveTps + field = "#PID control" + field = "dTime", alternatorDT + field = "offset", alternatorOffset + field = "P factor", alternatorControlPFactor + field = "I factor", alternatorControlIFactor + dialog = energySystems, "Battery and Alternator Settings", yAxis panel = battery panel = alternator diff --git a/unit_tests/test_trigger_decoder.cpp b/unit_tests/test_trigger_decoder.cpp index 9229512fc6..aebed7d923 100644 --- a/unit_tests/test_trigger_decoder.cpp +++ b/unit_tests/test_trigger_decoder.cpp @@ -543,6 +543,8 @@ void testTriggerDecoder(void) { testTriggerDecoder3("neon NGC", DODGE_NEON_2003, 0, 0.4786, 0.0, CHRYSLER_NGC_GAP); testTriggerDecoder2("sachs", SACHS, 0, 0.4800, 0.000); + testTriggerDecoder2("vw ABA", VW_ABA, 0, 0.7500, 0.25); + testMazda323(); testStartupFuelPumping();