From b3b5944058d406c0ac2be2abc821265d93e3b69e Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Tue, 10 Jan 2023 11:07:22 -0800 Subject: [PATCH 1/6] tooth log converter (#4960) --- misc/tooth_log_converter/.gitignore | 3 ++ misc/tooth_log_converter/build.sh | 3 ++ misc/tooth_log_converter/log_convert.cpp | 46 ++++++++++++++++++++++++ misc/tooth_log_converter/readme.md | 11 ++++++ 4 files changed, 63 insertions(+) create mode 100644 misc/tooth_log_converter/.gitignore create mode 100755 misc/tooth_log_converter/build.sh create mode 100644 misc/tooth_log_converter/log_convert.cpp create mode 100644 misc/tooth_log_converter/readme.md diff --git a/misc/tooth_log_converter/.gitignore b/misc/tooth_log_converter/.gitignore new file mode 100644 index 0000000000..36dd5a9d2a --- /dev/null +++ b/misc/tooth_log_converter/.gitignore @@ -0,0 +1,3 @@ +*.teeth +*.csv +log_convert diff --git a/misc/tooth_log_converter/build.sh b/misc/tooth_log_converter/build.sh new file mode 100755 index 0000000000..739e820806 --- /dev/null +++ b/misc/tooth_log_converter/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +g++ -O2 -lstdc++ log_convert.cpp -o log_convert diff --git a/misc/tooth_log_converter/log_convert.cpp b/misc/tooth_log_converter/log_convert.cpp new file mode 100644 index 0000000000..375c539e3a --- /dev/null +++ b/misc/tooth_log_converter/log_convert.cpp @@ -0,0 +1,46 @@ +#include +#include +#include + +typedef struct __attribute__ ((packed)) { + // the whole order of all packet bytes is reversed, not just the 'endian-swap' integers + uint32_t timestamp; + // unfortunately all these fields are required by TS... + bool priLevel : 1; + bool secLevel : 1; + bool trigger : 1; + bool sync : 1; + bool coil : 1; + bool injector : 1; +} composite_logger_s; + +static_assert(sizeof(composite_logger_s) == 5); + +static inline uint32_t SWAP_UINT32(uint32_t x) +{ + return (((x >> 24) & 0x000000ff) | ((x << 8) & 0x00ff0000) | + ((x >> 8) & 0x0000ff00) | ((x << 24) & 0xff000000)); +} + +static constexpr double ticksPerSecond = 1e6; + +int main(int argc, char** argv) +{ + std::ifstream src(argv[1], std::ios::binary); + std::ofstream dst(argv[2], std::ios::binary); + + dst << std::setprecision(10); + + dst << "timestamp,pri,sec" << std::endl; + + while (!src.eof()) + { + composite_logger_s entry; + + src.read(reinterpret_cast(&entry), sizeof(composite_logger_s)); + + double sec = SWAP_UINT32(entry.timestamp) / ticksPerSecond; + + dst << sec << "," << entry.priLevel << "," << entry.secLevel << std::endl; + } +} diff --git a/misc/tooth_log_converter/readme.md b/misc/tooth_log_converter/readme.md new file mode 100644 index 0000000000..1edf156ddc --- /dev/null +++ b/misc/tooth_log_converter/readme.md @@ -0,0 +1,11 @@ +# SD Tooth Log Converter + +This program converts SD stored tooth logs to csv for analysis or replay as part of a unit test. + +Create a log by setting "SD logger mode" to "trigger", then restart the ECU with an SD card present (but without USB connected), then crank/run/etc the engine to save a log. Restart again with USB to pull the log off. + +# Usage + +`./build.sh` + +`./log_convert myToothLog.teeth convertedCsv.csv` From a2aee25f4ddb2a5b09f160f59a20899c4a2049d1 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Tue, 10 Jan 2023 11:08:59 -0800 Subject: [PATCH 2/6] don't print "sim_warning %s" (#4959) --- firmware/controllers/core/error_handling.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/firmware/controllers/core/error_handling.cpp b/firmware/controllers/core/error_handling.cpp index 39f43d7f06..4bdd736f43 100644 --- a/firmware/controllers/core/error_handling.cpp +++ b/firmware/controllers/core/error_handling.cpp @@ -139,10 +139,6 @@ bool warning(obd_code_e code, const char *fmt, ...) { if (hasFirmwareErrorFlag) return true; -#if EFI_SIMULATOR - printf("sim_warning %s\r\n", fmt); -#endif /* EFI_SIMULATOR */ - #if EFI_SIMULATOR || EFI_PROD_CODE // we just had this same warning, let's not spam if (engine->engineState.warnings.isWarningNow(code) || !warningEnabled) { From 15d41c31c7f5c29c17f02aa2a75d831f89349c65 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Tue, 10 Jan 2023 11:10:30 -0800 Subject: [PATCH 3/6] support Toyota ETCS-i tps/pps (#4898) * cfg * cfg * configurable "ford tps" mode for TPS + PPS * comments * comment * fix deinit RedundantFordTps unregister sensor in case useFordRedundant* changes, avoiding ECU config error * better validation * use activeConfiguration on deinit path * use define * use smaller unused hole * s Co-authored-by: Nathan Schulte --- firmware/init/sensor/init_tps.cpp | 52 +++++++++++++++++++------- firmware/integration/rusefi_config.txt | 7 ++-- firmware/tunerstudio/rusefi.input | 4 ++ 3 files changed, 46 insertions(+), 17 deletions(-) diff --git a/firmware/init/sensor/init_tps.cpp b/firmware/init/sensor/init_tps.cpp index 0beebb9c32..cff857b167 100644 --- a/firmware/init/sensor/init_tps.cpp +++ b/firmware/init/sensor/init_tps.cpp @@ -41,7 +41,7 @@ public: return m_sens.Register(); } - void unsubscribe() { + void deinit() { AdcSubscription::UnsubscribeSensor(m_sens); } @@ -101,7 +101,7 @@ public: { } - void init(bool isFordTps, RedundantFordTps* fordTps, const TpsConfig& primary, const TpsConfig& secondary) { + void init(bool isFordTps, RedundantFordTps* fordTps, float secondaryMaximum, const TpsConfig& primary, const TpsConfig& secondary) { bool hasFirst = m_pri.init(primary); if (!hasFirst) { // no input if we have no first channel @@ -125,7 +125,7 @@ public: if (isFordTps && fordTps) { // we have a secondary - fordTps->configure(5.0f, 52.6f); + fordTps->configure(MAX_TPS_PPS_DISCREPANCY, secondaryMaximum); fordTps->Register(); } else { // not ford TPS @@ -137,9 +137,16 @@ printf("init m_redund.Register() %s\n", getSensorType(m_redund.type())); } } - void unsubscribe() { - m_pri.unsubscribe(); - m_sec.unsubscribe(); + void deinit(bool isFordTps, RedundantFordTps* fordTps) { + m_pri.deinit(); + m_sec.deinit(); + + if (isFordTps && fordTps) { + fordTps->unregister(); + } else { + m_redund.unregister(); + } + } private: @@ -161,6 +168,7 @@ static RedundantPair tps2(tps2p, tps2s, SensorType::Tps2); // Used only in case of weird Ford-style ETB TPS static RedundantFordTps fordTps1(SensorType::Tps1, SensorType::Tps1Primary, SensorType::Tps1Secondary); static RedundantFordTps fordTps2(SensorType::Tps2, SensorType::Tps2Primary, SensorType::Tps2Secondary); +static RedundantFordTps fordPps(SensorType::AcceleratorPedal, SensorType::AcceleratorPedalPrimary, SensorType::AcceleratorPedalSecondary); // Pedal sensors and redundancy static FuncSensPair pedalPrimary(1, SensorType::AcceleratorPedalPrimary); @@ -181,19 +189,32 @@ void initTps() { if (!engineConfiguration->consumeObdSensors) { bool isFordTps = engineConfiguration->useFordRedundantTps; + bool isFordPps = engineConfiguration->useFordRedundantPps; - tps1.init(isFordTps, &fordTps1, + float tpsSecondaryMaximum = engineConfiguration->tpsSecondaryMaximum; + if (tpsSecondaryMaximum < 20) { + // don't allow <20% split point + tpsSecondaryMaximum = 20; + } + + tps1.init(isFordTps, &fordTps1, tpsSecondaryMaximum, { engineConfiguration->tps1_1AdcChannel, (float)engineConfiguration->tpsMin, (float)engineConfiguration->tpsMax, min, max }, { engineConfiguration->tps1_2AdcChannel, (float)engineConfiguration->tps1SecondaryMin, (float)engineConfiguration->tps1SecondaryMax, min, max } ); - tps2.init(isFordTps, &fordTps2, + tps2.init(isFordTps, &fordTps2, tpsSecondaryMaximum, { engineConfiguration->tps2_1AdcChannel, (float)engineConfiguration->tps2Min, (float)engineConfiguration->tps2Max, min, max }, { engineConfiguration->tps2_2AdcChannel, (float)engineConfiguration->tps2SecondaryMin, (float)engineConfiguration->tps2SecondaryMax, min, max } ); + float ppsSecondaryMaximum = engineConfiguration->ppsSecondaryMaximum; + if (ppsSecondaryMaximum < 20) { + // don't allow <20% split point + ppsSecondaryMaximum = 20; + } + // Pedal sensors - pedal.init(false, nullptr, + pedal.init(isFordPps, &fordPps, ppsSecondaryMaximum, { engineConfiguration->throttlePedalPositionAdcChannel, engineConfiguration->throttlePedalUpVoltage, engineConfiguration->throttlePedalWOTVoltage, min, max }, { engineConfiguration->throttlePedalPositionSecondAdcChannel, engineConfiguration->throttlePedalSecondaryUpVoltage, engineConfiguration->throttlePedalSecondaryWOTVoltage, min, max } ); @@ -214,10 +235,13 @@ void initTps() { } void deinitTps() { - tps1.unsubscribe(); - tps2.unsubscribe(); - pedal.unsubscribe(); + bool isFordTps = activeConfiguration.useFordRedundantTps; + bool isFordPps = activeConfiguration.useFordRedundantPps; - wastegate.unsubscribe(); - idlePos.unsubscribe(); + tps1.deinit(isFordTps, &fordTps1); + tps2.deinit(isFordTps, &fordTps2); + pedal.deinit(isFordTps, &fordPps); + + wastegate.deinit(); + idlePos.deinit(); } diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 8feee2c43b..6fb4092082 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -446,7 +446,7 @@ end_struct injector_s injector bit isForcedInduction;Does the vehicle have a turbo or supercharger? -bit useFordRedundantTps;On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. +bit useFordRedundantTps;On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. bit isVerboseAuxPid1 bit overrideTriggerGaps bit enableFan1WithAc;Turn on this fan when AC is on. @@ -475,7 +475,7 @@ bit enableMapEstimationTableFallback;If enabled, the MAP estimate table will be bit usescriptTableForCanSniffingFiltering bit verboseCan,"Print all","Do not print";Print incoming and outgoing first bus CAN messages in rusEFI console bit artificialTestMisfire,"Danger Mode","No thank you";Experimental setting that will cause a misfire\nDO NOT ENABLE. -bit issue_294_31,"si_example","nada_example" +bit useFordRedundantPps;On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. !todo: extract these two fields into a structure @@ -1560,7 +1560,8 @@ uint8_t alsEtbPosition;;"", 1, 0, 0, 20000, 0 uint8_t ALSMaxDriverThrottleIntent;;"%", 1, 0, 0, 10, 0 pin_input_mode_e ALSActivatePinMode; -uint8_t[2] unusedHereForYou + uint8_t autoscale tpsSecondaryMaximum;For Ford TPS, use 53%. For Toyota ETCS-i, use 65%;"%", 0.5, 0, 0, 100, 1 + uint8_t autoscale ppsSecondaryMaximum;For Toyota ETCS-i, use xxx%;"%", 0.5, 0, 0, 100, 1 pin_input_mode_e[LUA_DIGITAL_INPUT_COUNT iterate] luaDigitalInputPinModes; uint8_t[96] mainUnusedEnd;;"units", 1, 0, 0, 1, 0 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 99c34e89dd..a6a84fc337 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -4293,6 +4293,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm From cd189c64505e1ed2bb85dfb589bd1af22037c90a Mon Sep 17 00:00:00 2001 From: GitHub gen-configs Action Date: Tue, 10 Jan 2023 20:00:00 +0000 Subject: [PATCH 4/6] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 19 +++++++++++----- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 19 +++++++++++----- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 19 +++++++++++----- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 19 +++++++++++----- .../controllers/generated/rusefi_generated.h | 4 ++-- .../controllers/generated/signature_48way.h | 4 ++-- .../controllers/generated/signature_all.h | 4 ++-- .../generated/signature_alphax-2chan.h | 4 ++-- .../generated/signature_alphax-4chan.h | 4 ++-- .../generated/signature_alphax-8chan.h | 4 ++-- .../controllers/generated/signature_atlas.h | 4 ++-- .../controllers/generated/signature_core8.h | 4 ++-- .../controllers/generated/signature_cypress.h | 4 ++-- .../generated/signature_f407-discovery.h | 4 ++-- .../generated/signature_f429-discovery.h | 4 ++-- .../generated/signature_frankenso_na6.h | 4 ++-- .../generated/signature_harley81.h | 4 ++-- .../generated/signature_hellen-gm-e67.h | 4 ++-- .../generated/signature_hellen-nb1.h | 4 ++-- .../generated/signature_hellen121nissan.h | 4 ++-- .../generated/signature_hellen121vag.h | 4 ++-- .../generated/signature_hellen128.h | 4 ++-- .../generated/signature_hellen154hyundai.h | 4 ++-- .../generated/signature_hellen72.h | 4 ++-- .../generated/signature_hellen81.h | 4 ++-- .../generated/signature_hellen88bmw.h | 4 ++-- .../generated/signature_hellenNA6.h | 4 ++-- .../generated/signature_hellenNA8_96.h | 4 ++-- .../controllers/generated/signature_kin.h | 4 ++-- .../controllers/generated/signature_m74_9.h | 4 ++-- .../controllers/generated/signature_mre_f4.h | 4 ++-- .../controllers/generated/signature_mre_f7.h | 4 ++-- .../generated/signature_prometheus_405.h | 4 ++-- .../generated/signature_prometheus_469.h | 4 ++-- .../generated/signature_proteus_f4.h | 4 ++-- .../generated/signature_proteus_f7.h | 4 ++-- .../generated/signature_proteus_h7.h | 4 ++-- .../controllers/generated/signature_s105.h | 4 ++-- .../generated/signature_subaru_eg33_f7.h | 4 ++-- .../generated/signature_tdg-pdm8.h | 4 ++-- .../lua/generated/value_lookup_generated.cpp | 22 +++++++++++++++---- .../lua/generated/value_lookup_generated.md | 12 +++++++--- firmware/tunerstudio/generated/rusefi.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_48way.ini | 20 ++++++++++++----- .../generated/rusefi_alphax-2chan.ini | 20 ++++++++++++----- .../generated/rusefi_alphax-4chan.ini | 20 ++++++++++++----- .../generated/rusefi_alphax-8chan.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_atlas.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_core8.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_cypress.ini | 20 ++++++++++++----- .../generated/rusefi_f407-discovery.ini | 20 ++++++++++++----- .../generated/rusefi_f429-discovery.ini | 20 ++++++++++++----- .../generated/rusefi_frankenso_na6.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_harley81.ini | 20 ++++++++++++----- .../generated/rusefi_hellen-gm-e67.ini | 20 ++++++++++++----- .../generated/rusefi_hellen-nb1.ini | 20 ++++++++++++----- .../generated/rusefi_hellen121nissan.ini | 20 ++++++++++++----- .../generated/rusefi_hellen121vag.ini | 20 ++++++++++++----- .../generated/rusefi_hellen128mercedes.ini | 20 ++++++++++++----- .../generated/rusefi_hellen154hyundai.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_hellen72.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_hellen81.ini | 20 ++++++++++++----- .../generated/rusefi_hellen88bmw.ini | 20 ++++++++++++----- .../generated/rusefi_hellenNA6.ini | 20 ++++++++++++----- .../generated/rusefi_hellenNA8_96.ini | 20 ++++++++++++----- firmware/tunerstudio/generated/rusefi_kin.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_m74_9.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_mre_f4.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_mre_f7.ini | 20 ++++++++++++----- .../generated/rusefi_prometheus_405.ini | 20 ++++++++++++----- .../generated/rusefi_prometheus_469.ini | 20 ++++++++++++----- .../generated/rusefi_proteus_f4.ini | 20 ++++++++++++----- .../generated/rusefi_proteus_f7.ini | 20 ++++++++++++----- .../generated/rusefi_proteus_h7.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_s105.ini | 20 ++++++++++++----- .../generated/rusefi_subaru_eg33_f7.ini | 20 ++++++++++++----- .../tunerstudio/generated/rusefi_tdg-pdm8.ini | 20 ++++++++++++----- .../com/rusefi/config/generated/Fields.java | 14 +++++++----- 81 files changed, 659 insertions(+), 321 deletions(-) diff --git a/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h index 11bed46308..0ec2e71505 100644 --- a/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sat Jan 07 03:08:28 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:10 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -695,7 +695,7 @@ struct engine_configuration_s { offset 120 bit 0 */ bool isForcedInduction : 1 {}; /** - * On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. + * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 1 */ bool useFordRedundantTps : 1 {}; /** @@ -806,8 +806,9 @@ struct engine_configuration_s { offset 120 bit 29 */ bool artificialTestMisfire : 1 {}; /** + * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 30 */ - bool issue_294_31 : 1 {}; + bool useFordRedundantPps : 1 {}; /** offset 120 bit 31 */ bool unusedBit_45_31 : 1 {}; @@ -4415,9 +4416,17 @@ struct engine_configuration_s { */ pin_input_mode_e ALSActivatePinMode; /** + * For Ford TPS, use 53%. For Toyota ETCS-i, use 65% + % * offset 3906 */ - uint8_t unusedHereForYou[2]; + scaled_channel tpsSecondaryMaximum; + /** + * For Toyota ETCS-i, use xxx% + % + * offset 3907 + */ + scaled_channel ppsSecondaryMaximum; /** * offset 3908 */ @@ -5229,4 +5238,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sat Jan 07 03:08:28 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:10 UTC 2023 diff --git a/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h index 99051dec34..376a902c1d 100644 --- a/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h @@ -1042,7 +1042,7 @@ #define SENT_INPUT_COUNT 1 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH snap_61833 +#define SIGNATURE_HASH snap_24315 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1317,7 +1317,7 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_61833" +#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_24315" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h index 319bb7f92f..ad759bbd02 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Jan 07 03:08:27 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:09 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -695,7 +695,7 @@ struct engine_configuration_s { offset 120 bit 0 */ bool isForcedInduction : 1 {}; /** - * On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. + * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 1 */ bool useFordRedundantTps : 1 {}; /** @@ -806,8 +806,9 @@ struct engine_configuration_s { offset 120 bit 29 */ bool artificialTestMisfire : 1 {}; /** + * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 30 */ - bool issue_294_31 : 1 {}; + bool useFordRedundantPps : 1 {}; /** offset 120 bit 31 */ bool unusedBit_45_31 : 1 {}; @@ -4415,9 +4416,17 @@ struct engine_configuration_s { */ pin_input_mode_e ALSActivatePinMode; /** + * For Ford TPS, use 53%. For Toyota ETCS-i, use 65% + % * offset 3906 */ - uint8_t unusedHereForYou[2]; + scaled_channel tpsSecondaryMaximum; + /** + * For Toyota ETCS-i, use xxx% + % + * offset 3907 + */ + scaled_channel ppsSecondaryMaximum; /** * offset 3908 */ @@ -5229,4 +5238,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Jan 07 03:08:27 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:09 UTC 2023 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index 3c8a155cb3..a01024eac9 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1042,7 +1042,7 @@ #define SENT_INPUT_COUNT 1 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH snap_21317 +#define SIGNATURE_HASH snap_64567 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1317,7 +1317,7 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_21317" +#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_64567" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h index 4eb4f88e93..f020e8944b 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Sat Jan 07 03:08:29 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:11 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -695,7 +695,7 @@ struct engine_configuration_s { offset 120 bit 0 */ bool isForcedInduction : 1 {}; /** - * On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. + * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 1 */ bool useFordRedundantTps : 1 {}; /** @@ -806,8 +806,9 @@ struct engine_configuration_s { offset 120 bit 29 */ bool artificialTestMisfire : 1 {}; /** + * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 30 */ - bool issue_294_31 : 1 {}; + bool useFordRedundantPps : 1 {}; /** offset 120 bit 31 */ bool unusedBit_45_31 : 1 {}; @@ -4415,9 +4416,17 @@ struct engine_configuration_s { */ pin_input_mode_e ALSActivatePinMode; /** + * For Ford TPS, use 53%. For Toyota ETCS-i, use 65% + % * offset 3906 */ - uint8_t unusedHereForYou[2]; + scaled_channel tpsSecondaryMaximum; + /** + * For Toyota ETCS-i, use xxx% + % + * offset 3907 + */ + scaled_channel ppsSecondaryMaximum; /** * offset 3908 */ @@ -5229,4 +5238,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Sat Jan 07 03:08:29 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:11 UTC 2023 diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h index 513a6a988a..efcc5bf469 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h @@ -992,7 +992,7 @@ #define show_Frankenso_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH snap_10323 +#define SIGNATURE_HASH snap_34593 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1268,7 +1268,7 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_10323" +#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 1251435f4d..7a09bd1864 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Jan 07 03:09:18 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:52 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -695,7 +695,7 @@ struct engine_configuration_s { offset 120 bit 0 */ bool isForcedInduction : 1 {}; /** - * On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. + * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 1 */ bool useFordRedundantTps : 1 {}; /** @@ -806,8 +806,9 @@ struct engine_configuration_s { offset 120 bit 29 */ bool artificialTestMisfire : 1 {}; /** + * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. offset 120 bit 30 */ - bool issue_294_31 : 1 {}; + bool useFordRedundantPps : 1 {}; /** offset 120 bit 31 */ bool unusedBit_45_31 : 1 {}; @@ -4415,9 +4416,17 @@ struct engine_configuration_s { */ pin_input_mode_e ALSActivatePinMode; /** + * For Ford TPS, use 53%. For Toyota ETCS-i, use 65% + % * offset 3906 */ - uint8_t unusedHereForYou[2]; + scaled_channel tpsSecondaryMaximum; + /** + * For Toyota ETCS-i, use xxx% + % + * offset 3907 + */ + scaled_channel ppsSecondaryMaximum; /** * offset 3908 */ @@ -5229,4 +5238,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Jan 07 03:09:18 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:52 UTC 2023 diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 61c183a77a..5de6005213 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1042,7 +1042,7 @@ #define SENT_INPUT_COUNT 1 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH snap_61833 +#define SIGNATURE_HASH snap_24315 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1317,7 +1317,7 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_61833" +#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_24315" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/controllers/generated/signature_48way.h b/firmware/controllers/generated/signature_48way.h index 903680faf0..bf68a38365 100644 --- a/firmware/controllers/generated/signature_48way.h +++ b/firmware/controllers/generated/signature_48way.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_63942 -#define TS_SIGNATURE "rusEFI 2023.01.10.48way.snap_63942" +#define SIGNATURE_HASH snap_22196 +#define TS_SIGNATURE "rusEFI 2023.01.10.48way.snap_22196" diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index f688b7cf03..78d69d40db 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_61833 -#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_61833" +#define SIGNATURE_HASH snap_24315 +#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_24315" diff --git a/firmware/controllers/generated/signature_alphax-2chan.h b/firmware/controllers/generated/signature_alphax-2chan.h index cd45b4a2be..de049de8a0 100644 --- a/firmware/controllers/generated/signature_alphax-2chan.h +++ b/firmware/controllers/generated/signature_alphax-2chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_27877 -#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-2chan.snap_27877" +#define SIGNATURE_HASH snap_50071 +#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-2chan.snap_50071" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index 29ac8f114f..bb119defe9 100644 --- a/firmware/controllers/generated/signature_alphax-4chan.h +++ b/firmware/controllers/generated/signature_alphax-4chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_57504 -#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-4chan.snap_57504" +#define SIGNATURE_HASH snap_20434 +#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-4chan.snap_20434" diff --git a/firmware/controllers/generated/signature_alphax-8chan.h b/firmware/controllers/generated/signature_alphax-8chan.h index a55714ea9a..2bec27fea4 100644 --- a/firmware/controllers/generated/signature_alphax-8chan.h +++ b/firmware/controllers/generated/signature_alphax-8chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_28165 -#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-8chan.snap_28165" +#define SIGNATURE_HASH snap_49527 +#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-8chan.snap_49527" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index af941ad1b6..5810fc1c85 100644 --- a/firmware/controllers/generated/signature_atlas.h +++ b/firmware/controllers/generated/signature_atlas.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_1198 -#define TS_SIGNATURE "rusEFI 2023.01.10.atlas.snap_1198" +#define SIGNATURE_HASH snap_43996 +#define TS_SIGNATURE "rusEFI 2023.01.10.atlas.snap_43996" diff --git a/firmware/controllers/generated/signature_core8.h b/firmware/controllers/generated/signature_core8.h index c598a5afe9..76726030fc 100644 --- a/firmware/controllers/generated/signature_core8.h +++ b/firmware/controllers/generated/signature_core8.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_41072 -#define TS_SIGNATURE "rusEFI 2023.01.10.core8.snap_41072" +#define SIGNATURE_HASH snap_3842 +#define TS_SIGNATURE "rusEFI 2023.01.10.core8.snap_3842" diff --git a/firmware/controllers/generated/signature_cypress.h b/firmware/controllers/generated/signature_cypress.h index 0ee5a753f6..3cf9ca67e7 100644 --- a/firmware/controllers/generated/signature_cypress.h +++ b/firmware/controllers/generated/signature_cypress.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat by SignatureConsumer // -#define SIGNATURE_HASH snap_61833 -#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_61833" +#define SIGNATURE_HASH snap_24315 +#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_24315" diff --git a/firmware/controllers/generated/signature_f407-discovery.h b/firmware/controllers/generated/signature_f407-discovery.h index fd45eff3a8..6150b4157d 100644 --- a/firmware/controllers/generated/signature_f407-discovery.h +++ b/firmware/controllers/generated/signature_f407-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_61833 -#define TS_SIGNATURE "rusEFI 2023.01.10.f407-discovery.snap_61833" +#define SIGNATURE_HASH snap_24315 +#define TS_SIGNATURE "rusEFI 2023.01.10.f407-discovery.snap_24315" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 40292efc23..b97754c295 100644 --- a/firmware/controllers/generated/signature_f429-discovery.h +++ b/firmware/controllers/generated/signature_f429-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_61833 -#define TS_SIGNATURE "rusEFI 2023.01.10.f429-discovery.snap_61833" +#define SIGNATURE_HASH snap_24315 +#define TS_SIGNATURE "rusEFI 2023.01.10.f429-discovery.snap_24315" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index cd4176e5a2..6c5160d60f 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_3405 -#define TS_SIGNATURE "rusEFI 2023.01.10.frankenso_na6.snap_3405" +#define SIGNATURE_HASH snap_41535 +#define TS_SIGNATURE "rusEFI 2023.01.10.frankenso_na6.snap_41535" diff --git a/firmware/controllers/generated/signature_harley81.h b/firmware/controllers/generated/signature_harley81.h index ddfa5e96ff..f2591b69d7 100644 --- a/firmware/controllers/generated/signature_harley81.h +++ b/firmware/controllers/generated/signature_harley81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_46966 -#define TS_SIGNATURE "rusEFI 2023.01.10.harley81.snap_46966" +#define SIGNATURE_HASH snap_6148 +#define TS_SIGNATURE "rusEFI 2023.01.10.harley81.snap_6148" diff --git a/firmware/controllers/generated/signature_hellen-gm-e67.h b/firmware/controllers/generated/signature_hellen-gm-e67.h index 5c5ce85bd9..64bde1166b 100644 --- a/firmware/controllers/generated/signature_hellen-gm-e67.h +++ b/firmware/controllers/generated/signature_hellen-gm-e67.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_37517 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-gm-e67.snap_37517" +#define SIGNATURE_HASH snap_15871 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-gm-e67.snap_15871" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index 455af8f9a0..4d434aebb7 100644 --- a/firmware/controllers/generated/signature_hellen-nb1.h +++ b/firmware/controllers/generated/signature_hellen-nb1.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_49221 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-nb1.snap_49221" +#define SIGNATURE_HASH snap_28471 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-nb1.snap_28471" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index f9de851b9a..eca4ae01c5 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_3099 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121nissan.snap_3099" +#define SIGNATURE_HASH snap_41833 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121nissan.snap_41833" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 22c6aef2ff..90ca1e7379 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_26260 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121vag.snap_26260" +#define SIGNATURE_HASH snap_51686 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121vag.snap_51686" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 864b928f0b..bcb766aa7f 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_36018 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen128.snap_36018" +#define SIGNATURE_HASH snap_9152 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen128.snap_9152" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index 0044390e35..b8349fe92f 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_52074 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen154hyundai.snap_52074" +#define SIGNATURE_HASH snap_25624 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen154hyundai.snap_25624" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 565b51bedf..3ff1f4bc42 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_65282 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen72.snap_65282" +#define SIGNATURE_HASH snap_20592 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen72.snap_20592" diff --git a/firmware/controllers/generated/signature_hellen81.h b/firmware/controllers/generated/signature_hellen81.h index c9f1fc768b..f6b208a0c1 100644 --- a/firmware/controllers/generated/signature_hellen81.h +++ b/firmware/controllers/generated/signature_hellen81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_28660 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen81.snap_28660" +#define SIGNATURE_HASH snap_49286 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen81.snap_49286" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index d9f615df4e..90477fb45d 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_57925 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen88bmw.snap_57925" +#define SIGNATURE_HASH snap_19767 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen88bmw.snap_19767" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 1a14c0be1c..a9e84a942a 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_16574 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA6.snap_16574" +#define SIGNATURE_HASH snap_61388 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA6.snap_61388" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index d92d4cc0e7..42649a1a6e 100644 --- a/firmware/controllers/generated/signature_hellenNA8_96.h +++ b/firmware/controllers/generated/signature_hellenNA8_96.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_16481 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA8_96.snap_16481" +#define SIGNATURE_HASH snap_61203 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA8_96.snap_61203" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index f6124d979a..0d7fe17d8a 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat by SignatureConsumer // -#define SIGNATURE_HASH snap_21317 -#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_21317" +#define SIGNATURE_HASH snap_64567 +#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_64567" diff --git a/firmware/controllers/generated/signature_m74_9.h b/firmware/controllers/generated/signature_m74_9.h index 1688b4b330..2ce155b3f2 100644 --- a/firmware/controllers/generated/signature_m74_9.h +++ b/firmware/controllers/generated/signature_m74_9.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_11442 -#define TS_SIGNATURE "rusEFI 2023.01.10.m74_9.snap_11442" +#define SIGNATURE_HASH snap_33728 +#define TS_SIGNATURE "rusEFI 2023.01.10.m74_9.snap_33728" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index d0b4d182b9..d29bf911c4 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_38537 -#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f4.snap_38537" +#define SIGNATURE_HASH snap_14843 +#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f4.snap_14843" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index f0d122c84b..02c6fb772a 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_38537 -#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f7.snap_38537" +#define SIGNATURE_HASH snap_14843 +#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f7.snap_14843" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 5ad85f0274..2ac0538c60 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_10351 -#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_405.snap_10351" +#define SIGNATURE_HASH snap_34589 +#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_405.snap_34589" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index a89e85bb60..e19803dcf6 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_10351 -#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_469.snap_10351" +#define SIGNATURE_HASH snap_34589 +#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_469.snap_34589" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index dbea04085f..b597dcb0e6 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_14905 -#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f4.snap_14905" +#define SIGNATURE_HASH snap_38219 +#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f4.snap_38219" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 86bda8d216..8abc1d749b 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_14905 -#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f7.snap_14905" +#define SIGNATURE_HASH snap_38219 +#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f7.snap_38219" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index 56ae82433c..3e9de7d47b 100644 --- a/firmware/controllers/generated/signature_proteus_h7.h +++ b/firmware/controllers/generated/signature_proteus_h7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_14905 -#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_h7.snap_14905" +#define SIGNATURE_HASH snap_38219 +#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_h7.snap_38219" diff --git a/firmware/controllers/generated/signature_s105.h b/firmware/controllers/generated/signature_s105.h index 974daac4f4..d81778bbd0 100644 --- a/firmware/controllers/generated/signature_s105.h +++ b/firmware/controllers/generated/signature_s105.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_50164 -#define TS_SIGNATURE "rusEFI 2023.01.10.s105.snap_50164" +#define SIGNATURE_HASH snap_27782 +#define TS_SIGNATURE "rusEFI 2023.01.10.s105.snap_27782" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 44521d45d0..665e816a66 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_10323 -#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_10323" +#define SIGNATURE_HASH snap_34593 +#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" diff --git a/firmware/controllers/generated/signature_tdg-pdm8.h b/firmware/controllers/generated/signature_tdg-pdm8.h index 032d8145ff..aa5392235b 100644 --- a/firmware/controllers/generated/signature_tdg-pdm8.h +++ b/firmware/controllers/generated/signature_tdg-pdm8.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_16349 -#define TS_SIGNATURE "rusEFI 2023.01.10.tdg-pdm8.snap_16349" +#define SIGNATURE_HASH snap_37039 +#define TS_SIGNATURE "rusEFI 2023.01.10.tdg-pdm8.snap_37039" diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index 958d303e2b..b950a5b06b 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -85,8 +85,8 @@ float getConfigValueByName(const char *name) { return engineConfiguration->verboseCan; case -1528619572: return engineConfiguration->artificialTestMisfire; - case -1571463185: - return engineConfiguration->issue_294_31; + case -1284359115: + return engineConfiguration->useFordRedundantPps; case 513872736: return engineConfiguration->tpsMin; case 513872482: @@ -1041,6 +1041,10 @@ float getConfigValueByName(const char *name) { return engineConfiguration->ALSSkipRatio; case 612659807: return engineConfiguration->ALSMaxDriverThrottleIntent; + case -1744146782: + return engineConfiguration->tpsSecondaryMaximum; + case -727657058: + return engineConfiguration->ppsSecondaryMaximum; } return EFI_ERROR_CODE; } @@ -1252,9 +1256,9 @@ void setConfigValueByName(const char *name, float value) { engineConfiguration->artificialTestMisfire = (int)value; return; } - case -1571463185: + case -1284359115: { - engineConfiguration->issue_294_31 = (int)value; + engineConfiguration->useFordRedundantPps = (int)value; return; } case 513872736: @@ -3641,6 +3645,16 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->ALSMaxDriverThrottleIntent = (int)value; return; + } + case -1744146782: + { + engineConfiguration->tpsSecondaryMaximum = (int)value; + return; + } + case -727657058: + { + engineConfiguration->ppsSecondaryMaximum = (int)value; + return; } } } diff --git a/firmware/controllers/lua/generated/value_lookup_generated.md b/firmware/controllers/lua/generated/value_lookup_generated.md index 87a24e7e25..cb9ee3bf56 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.md +++ b/firmware/controllers/lua/generated/value_lookup_generated.md @@ -35,7 +35,7 @@ This is your injector flow at the fuel pressure used in the vehicle. cc/min, cub Does the vehicle have a turbo or supercharger? ### useFordRedundantTps -On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. +On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. ### isVerboseAuxPid1 @@ -121,8 +121,8 @@ Print incoming and outgoing first bus CAN messages in rusEFI console ### artificialTestMisfire Experimental setting that will cause a misfire\nDO NOT ENABLE. -### issue_294_31 - +### useFordRedundantPps +On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. ### tpsMin Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X @@ -1555,3 +1555,9 @@ null ### ALSMaxDriverThrottleIntent +### tpsSecondaryMaximum +For Ford TPS, use 53%. For Toyota ETCS-i, use 65% + +### ppsSecondaryMaximum +For Toyota ETCS-i, use xxx% + diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 5844e470b4..c6a2b116b5 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.all.snap_61833" + signature = "rusEFI 2023.01.10.all.snap_24315" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.all.snap_61833" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.all.snap_24315" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:32:06 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:50 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7878,6 +7882,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_48way.ini b/firmware/tunerstudio/generated/rusefi_48way.ini index 3a4a2d2c72..2fcb5abf6a 100644 --- a/firmware/tunerstudio/generated/rusefi_48way.ini +++ b/firmware/tunerstudio/generated/rusefi_48way.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.48way.snap_63942" + signature = "rusEFI 2023.01.10.48way.snap_22196" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.48way.snap_63942" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.48way.snap_22196" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:46 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:34 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7870,6 +7874,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini index ef8c449daf..7b96d91f24 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.alphax-2chan.snap_27877" + signature = "rusEFI 2023.01.10.alphax-2chan.snap_50071" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.alphax-2chan.snap_27877" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.alphax-2chan.snap_50071" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:17 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:12 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7840,6 +7844,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini index 5bf0273a13..f6df79675a 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.alphax-4chan.snap_57504" + signature = "rusEFI 2023.01.10.alphax-4chan.snap_20434" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.alphax-4chan.snap_57504" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.alphax-4chan.snap_20434" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:19 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:14 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7844,6 +7848,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini index ef2083996c..d58d5028ba 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.alphax-8chan.snap_28165" + signature = "rusEFI 2023.01.10.alphax-8chan.snap_49527" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.alphax-8chan.snap_28165" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.alphax-8chan.snap_49527" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:20 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:15 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7844,6 +7848,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 5de87476a3..a7d3522abb 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.atlas.snap_1198" + signature = "rusEFI 2023.01.10.atlas.snap_43996" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.atlas.snap_1198" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.atlas.snap_43996" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:32:03 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:48 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7869,6 +7873,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_core8.ini b/firmware/tunerstudio/generated/rusefi_core8.ini index 2f716e632c..dc32ed2057 100644 --- a/firmware/tunerstudio/generated/rusefi_core8.ini +++ b/firmware/tunerstudio/generated/rusefi_core8.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.core8.snap_41072" + signature = "rusEFI 2023.01.10.core8.snap_3842" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.core8.snap_41072" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.core8.snap_3842" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:44 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:33 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7870,6 +7874,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_cypress.ini b/firmware/tunerstudio/generated/rusefi_cypress.ini index 8e7f163fe2..7f87aff175 100644 --- a/firmware/tunerstudio/generated/rusefi_cypress.ini +++ b/firmware/tunerstudio/generated/rusefi_cypress.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.cypress.snap_61833" + signature = "rusEFI 2023.01.10.cypress.snap_24315" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.cypress.snap_61833" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.cypress.snap_24315" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 03:31:14 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:10 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7878,6 +7882,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini index 181a09a3db..3b6c41aa64 100644 --- a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.f407-discovery.snap_61833" + signature = "rusEFI 2023.01.10.f407-discovery.snap_24315" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.f407-discovery.snap_61833" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.f407-discovery.snap_24315" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:32:00 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:45 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7878,6 +7882,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 3a5409d876..148d50e9fb 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.f429-discovery.snap_61833" + signature = "rusEFI 2023.01.10.f429-discovery.snap_24315" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.f429-discovery.snap_61833" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.f429-discovery.snap_24315" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:32:02 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:46 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7878,6 +7882,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 24b3933a1a..3dd3b42009 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.frankenso_na6.snap_3405" + signature = "rusEFI 2023.01.10.frankenso_na6.snap_41535" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.frankenso_na6.snap_3405" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.frankenso_na6.snap_41535" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:51 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:38 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7878,6 +7882,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_harley81.ini b/firmware/tunerstudio/generated/rusefi_harley81.ini index 1cb7aa970f..fbd71a8cb2 100644 --- a/firmware/tunerstudio/generated/rusefi_harley81.ini +++ b/firmware/tunerstudio/generated/rusefi_harley81.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.harley81.snap_46966" + signature = "rusEFI 2023.01.10.harley81.snap_6148" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.harley81.snap_46966" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.harley81.snap_6148" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:22 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:16 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7842,6 +7846,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini index c11851b336..dd6ad2d7fa 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen-gm-e67.snap_37517" + signature = "rusEFI 2023.01.10.hellen-gm-e67.snap_15871" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen-gm-e67.snap_37517" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen-gm-e67.snap_15871" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:36 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:27 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7842,6 +7846,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 161c0a9dd0..97bdb6c696 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen-nb1.snap_49221" + signature = "rusEFI 2023.01.10.hellen-nb1.snap_28471" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen-nb1.snap_49221" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen-nb1.snap_28471" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:35 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:26 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7843,6 +7847,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index ab7405edfa..eb306e8f35 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen121nissan.snap_3099" + signature = "rusEFI 2023.01.10.hellen121nissan.snap_41833" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen121nissan.snap_3099" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen121nissan.snap_41833" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:27 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:20 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7841,6 +7845,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 4dc3dae56b..6a0e1a4b5d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen121vag.snap_26260" + signature = "rusEFI 2023.01.10.hellen121vag.snap_51686" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen121vag.snap_26260" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen121vag.snap_51686" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:25 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:19 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7846,6 +7850,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini index df989a87b0..68cca082d1 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen128.snap_36018" + signature = "rusEFI 2023.01.10.hellen128.snap_9152" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen128.snap_36018" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen128.snap_9152" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:24 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:17 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7841,6 +7845,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index 1e2a1ac1ca..d1ab377e67 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen154hyundai.snap_52074" + signature = "rusEFI 2023.01.10.hellen154hyundai.snap_25624" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen154hyundai.snap_52074" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen154hyundai.snap_25624" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:28 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:21 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7840,6 +7844,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index a756d5add8..09e39c745a 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen72.snap_65282" + signature = "rusEFI 2023.01.10.hellen72.snap_20592" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen72.snap_65282" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen72.snap_20592" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:31 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:24 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7843,6 +7847,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen81.ini b/firmware/tunerstudio/generated/rusefi_hellen81.ini index 21467a57d3..610d60c497 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen81.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen81.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen81.snap_28660" + signature = "rusEFI 2023.01.10.hellen81.snap_49286" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen81.snap_28660" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen81.snap_49286" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:33 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:25 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7839,6 +7843,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini index c480cfca9d..116c37b96d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen88bmw.snap_57925" + signature = "rusEFI 2023.01.10.hellen88bmw.snap_19767" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen88bmw.snap_57925" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen88bmw.snap_19767" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:30 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:22 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7837,6 +7841,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index c91d09a1f8..6c20cc8590 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellenNA6.snap_16574" + signature = "rusEFI 2023.01.10.hellenNA6.snap_61388" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellenNA6.snap_16574" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellenNA6.snap_61388" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:38 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:28 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7844,6 +7848,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini index 90e4f0cb7d..165ba7c803 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellenNA8_96.snap_16481" + signature = "rusEFI 2023.01.10.hellenNA8_96.snap_61203" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellenNA8_96.snap_16481" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellenNA8_96.snap_61203" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:39 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:29 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7842,6 +7846,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_kin.ini b/firmware/tunerstudio/generated/rusefi_kin.ini index b17cdccc63..62cde7a4ab 100644 --- a/firmware/tunerstudio/generated/rusefi_kin.ini +++ b/firmware/tunerstudio/generated/rusefi_kin.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.kin.snap_21317" + signature = "rusEFI 2023.01.10.kin.snap_64567" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.kin.snap_21317" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.kin.snap_64567" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 03:31:13 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:09 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7879,6 +7883,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_m74_9.ini b/firmware/tunerstudio/generated/rusefi_m74_9.ini index b3f3ac69d2..ffd3972467 100644 --- a/firmware/tunerstudio/generated/rusefi_m74_9.ini +++ b/firmware/tunerstudio/generated/rusefi_m74_9.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.m74_9.snap_11442" + signature = "rusEFI 2023.01.10.m74_9.snap_33728" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.m74_9.snap_11442" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.m74_9.snap_33728" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:48 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:36 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7844,6 +7848,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 29d158270a..97dadb5865 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.mre_f4.snap_38537" + signature = "rusEFI 2023.01.10.mre_f4.snap_14843" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.mre_f4.snap_38537" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.mre_f4.snap_14843" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:43 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:32 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7848,6 +7852,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 2dbf7ef445..b1c241d209 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.mre_f7.snap_38537" + signature = "rusEFI 2023.01.10.mre_f7.snap_14843" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.mre_f7.snap_38537" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.mre_f7.snap_14843" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:41 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:31 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7848,6 +7852,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index a93ac5b4f9..4b63489e1b 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.prometheus_405.snap_10351" + signature = "rusEFI 2023.01.10.prometheus_405.snap_34589" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.prometheus_405.snap_10351" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.prometheus_405.snap_34589" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:54 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:40 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7872,6 +7876,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index f3b3fc59e7..84a533fc21 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.prometheus_469.snap_10351" + signature = "rusEFI 2023.01.10.prometheus_469.snap_34589" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.prometheus_469.snap_10351" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.prometheus_469.snap_34589" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:52 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:39 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7872,6 +7876,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index 02b1d4261f..503c810d56 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.proteus_f4.snap_14905" + signature = "rusEFI 2023.01.10.proteus_f4.snap_38219" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.proteus_f4.snap_14905" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.proteus_f4.snap_38219" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:57 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:43 UTC 2023 pageSize = 26368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7840,6 +7844,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 1114e15517..7245273937 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.proteus_f7.snap_14905" + signature = "rusEFI 2023.01.10.proteus_f7.snap_38219" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.proteus_f7.snap_14905" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.proteus_f7.snap_38219" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:55 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:42 UTC 2023 pageSize = 26368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7840,6 +7844,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini index e13a84255d..46cd94faf5 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.proteus_h7.snap_14905" + signature = "rusEFI 2023.01.10.proteus_h7.snap_38219" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.proteus_h7.snap_14905" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.proteus_h7.snap_38219" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:59 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:44 UTC 2023 pageSize = 26368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7840,6 +7844,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_s105.ini b/firmware/tunerstudio/generated/rusefi_s105.ini index 122129674f..3a75fb5c33 100644 --- a/firmware/tunerstudio/generated/rusefi_s105.ini +++ b/firmware/tunerstudio/generated/rusefi_s105.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.s105.snap_50164" + signature = "rusEFI 2023.01.10.s105.snap_27782" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.s105.snap_50164" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.s105.snap_27782" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:49 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:37 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7844,6 +7848,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index fc25d077c5..75e90e8621 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.subaru_eg33_f7.snap_10323" + signature = "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.subaru_eg33_f7.snap_10323" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 03:31:16 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:11 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7862,6 +7866,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini index 6d86ffe727..ccf3c4e59e 100644 --- a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini +++ b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.tdg-pdm8.snap_16349" + signature = "rusEFI 2023.01.10.tdg-pdm8.snap_37039" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.tdg-pdm8.snap_16349" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.tdg-pdm8.snap_37039" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:32:05 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:49 UTC 2023 pageSize = 22368 page = 1 @@ -135,7 +135,7 @@ enableMapEstimationTableFallback = bits, U32, 120, [26:26], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 120, [27:27], "false", "true" verboseCan = bits, U32, 120, [28:28], "Do not print", "Print all" artificialTestMisfire = bits, U32, 120, [29:29], "No thank you", "Danger Mode" -issue_294_31 = bits, U32, 120, [30:30], "nada_example", "si_example" +useFordRedundantPps = bits, U32, 120, [30:30], "false", "true" tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 @@ -1211,7 +1211,8 @@ ALSEtbAdd = scalar, S32, 3896, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, S32, 3900, "", 1, 0, 0.1, 2, 1 ALSMaxDriverThrottleIntent = scalar, U08, 3904, "%", 1, 0, 0, 10, 0 ALSActivatePinMode = bits, U08, 3905, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -unusedHereForYou = array, U08, 3906, [2], "", 1, 0, 0, 100, 0 +tpsSecondaryMaximum = scalar, U08, 3906, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3907, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3908, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes2 = bits, U08, 3909, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" luaDigitalInputPinModes3 = bits, U08, 3910, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" @@ -1455,7 +1456,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG" injector_battLagCorr = "ms delay between injector open and close dead times" isForcedInduction = "Does the vehicle have a turbo or supercharger?" - useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." + useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." @@ -1473,6 +1474,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." + useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel\nset tps_min X" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel\nset tps_max X" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." @@ -2080,6 +2082,8 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 luaDigitalInputPins6 = "luaDigitalInputPins 6" luaDigitalInputPins7 = "luaDigitalInputPins 7" luaDigitalInputPins8 = "luaDigitalInputPins 8" + tpsSecondaryMaximum = "For Ford TPS, use 53%. For Toyota ETCS-i, use 65%" + ppsSecondaryMaximum = "For Toyota ETCS-i, use xxx%" luaDigitalInputPinModes1 = "luaDigitalInputPinModes 1" luaDigitalInputPinModes2 = "luaDigitalInputPinModes 2" luaDigitalInputPinModes3 = "luaDigitalInputPinModes 3" @@ -7878,6 +7882,10 @@ dialog = tcuControls, "Transmission Settings" field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning field = "Warning Message", warning_message field = "Ford redundant TPS mode", useFordRedundantTps + field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} + field = "Ford redundant PPS mode", useFordRedundantPps + field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} + field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java index 83589b3d91..e6ada8206c 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 03:32:08 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:52 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1199,7 +1199,7 @@ public class Fields { public static final int TS_RESPONSE_UNDERRUN = 0x80; public static final int TS_RESPONSE_UNRECOGNIZED_COMMAND = 0x83; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2023.01.10.all.snap_61833"; + public static final String TS_SIGNATURE = "rusEFI 2023.01.10.all.snap_24315"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final char TS_TEST_COMMAND = 't'; public static final int TS_TOTAL_OUTPUT_SIZE = 1288; @@ -1301,7 +1301,7 @@ public class Fields { public static final Field USESCRIPTTABLEFORCANSNIFFINGFILTERING = Field.create("USESCRIPTTABLEFORCANSNIFFINGFILTERING", 120, FieldType.BIT, 27).setBaseOffset(0); public static final Field VERBOSECAN = Field.create("VERBOSECAN", 120, FieldType.BIT, 28).setBaseOffset(0); public static final Field ARTIFICIALTESTMISFIRE = Field.create("ARTIFICIALTESTMISFIRE", 120, FieldType.BIT, 29).setBaseOffset(0); - public static final Field ISSUE_294_31 = Field.create("ISSUE_294_31", 120, FieldType.BIT, 30).setBaseOffset(0); + public static final Field USEFORDREDUNDANTPPS = Field.create("USEFORDREDUNDANTPPS", 120, FieldType.BIT, 30).setBaseOffset(0); public static final Field TPSMIN = Field.create("TPSMIN", 124, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field TPSMAX = Field.create("TPSMAX", 126, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field TPSERRORDETECTIONTOOLOW = Field.create("TPSERRORDETECTIONTOOLOW", 128, FieldType.INT16).setScale(1.0).setBaseOffset(0); @@ -2479,7 +2479,8 @@ public class Fields { public static final Field ALSSKIPRATIO = Field.create("ALSSKIPRATIO", 3900, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final Field ALSMAXDRIVERTHROTTLEINTENT = Field.create("ALSMAXDRIVERTHROTTLEINTENT", 3904, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field ALSACTIVATEPINMODE = Field.create("ALSACTIVATEPINMODE", 3905, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDHEREFORYOU = Field.create("UNUSEDHEREFORYOU", 3906, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TPSSECONDARYMAXIMUM = Field.create("TPSSECONDARYMAXIMUM", 3906, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field PPSSECONDARYMAXIMUM = Field.create("PPSSECONDARYMAXIMUM", 3907, FieldType.INT8).setScale(0.5).setBaseOffset(0); public static final Field LUADIGITALINPUTPINMODES1 = Field.create("LUADIGITALINPUTPINMODES1", 3908, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); public static final Field LUADIGITALINPUTPINMODES2 = Field.create("LUADIGITALINPUTPINMODES2", 3909, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); public static final Field LUADIGITALINPUTPINMODES3 = Field.create("LUADIGITALINPUTPINMODES3", 3910, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); @@ -2765,7 +2766,7 @@ public class Fields { USESCRIPTTABLEFORCANSNIFFINGFILTERING, VERBOSECAN, ARTIFICIALTESTMISFIRE, - ISSUE_294_31, + USEFORDREDUNDANTPPS, TPSMIN, TPSMAX, TPSERRORDETECTIONTOOLOW, @@ -3919,7 +3920,8 @@ public class Fields { ALSSKIPRATIO, ALSMAXDRIVERTHROTTLEINTENT, ALSACTIVATEPINMODE, - UNUSEDHEREFORYOU, + TPSSECONDARYMAXIMUM, + PPSSECONDARYMAXIMUM, LUADIGITALINPUTPINMODES1, LUADIGITALINPUTPINMODES2, LUADIGITALINPUTPINMODES3, From 1eca0ca1bdd302ff1d7ae04cd9c7bd9d9fb775ed Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Tue, 10 Jan 2023 12:31:04 -0800 Subject: [PATCH 5/6] Jammed ETB detection (#4873) * jammed ETB detection * autoscale * comment * cleanup * implement test, cleanup --- .../actuators/electronic_throttle.cpp | 45 +++++++++---- .../actuators/electronic_throttle.h | 3 +- .../actuators/electronic_throttle.txt | 4 ++ .../actuators/electronic_throttle_impl.h | 7 +- firmware/controllers/closed_loop_controller.h | 8 ++- unit_tests/mocks.h | 3 +- unit_tests/tests/actuators/test_etb.cpp | 66 +++++++++++++++---- 7 files changed, 102 insertions(+), 34 deletions(-) diff --git a/firmware/controllers/actuators/electronic_throttle.cpp b/firmware/controllers/actuators/electronic_throttle.cpp index cf6d872fbc..9460fd6743 100644 --- a/firmware/controllers/actuators/electronic_throttle.cpp +++ b/firmware/controllers/actuators/electronic_throttle.cpp @@ -269,7 +269,7 @@ expected EtbController::getSetpoint() { expected EtbController::getSetpointIdleValve() const { // VW ETB idle mode uses an ETB only for idle (a mini-ETB sets the lower stop, and a normal cable // can pull the throttle up off the stop.), so we directly control the throttle with the idle position. -#if EFI_TUNER_STUDIO +#if EFI_TUNER_STUDIO && (EFI_PROD_CODE || EFI_SIMULATOR) engine->outputChannels.etbTarget = m_idlePosition; #endif // EFI_TUNER_STUDIO return clampF(0, m_idlePosition, 100); @@ -637,20 +637,41 @@ void EtbController::update() { m_pid.iTermMin = engineConfiguration->etb_iTermMin; m_pid.iTermMax = engineConfiguration->etb_iTermMax; - ClosedLoopController::update(); + auto output = ClosedLoopController::update(); + + if (!output) { + return; + } + + checkOutput(output.Value); } -expected EtbController::getOutput() { - // total open + closed loop parts - expected output = ClosedLoopController::getOutput(); - if (!output) { - return output; - } - etbDutyAverage = m_dutyAverage.average(absF(output.Value)); +void EtbController::checkOutput(percent_t output) { + etbDutyAverage = m_dutyAverage.average(absF(output)); - etbDutyRateOfChange = m_dutyRocAverage.average(absF(output.Value - prevOutput)); - prevOutput = output.Value; - return output; + etbDutyRateOfChange = m_dutyRocAverage.average(absF(output - prevOutput)); + prevOutput = output; + + float integrator = absF(m_pid.getIntegration()); + auto integratorLimit = engineConfiguration->etbJamIntegratorLimit; + + if (integratorLimit != 0) { + auto nowNt = getTimeNowNt(); + + if (integrator > integratorLimit) { + if (m_jamDetectTimer.hasElapsedSec(engineConfiguration->etbJamTimeout)) { + // ETB is jammed! + jamDetected = true; + + // TODO: do something about it! + } + } else { + m_jamDetectTimer.reset(getTimeNowNt()); + jamDetected = false; + } + + jamTimer = m_jamDetectTimer.getElapsedSeconds(nowNt); + } } void EtbController::autoCalibrateTps() { diff --git a/firmware/controllers/actuators/electronic_throttle.h b/firmware/controllers/actuators/electronic_throttle.h index 96885e4af3..04d84e7d97 100644 --- a/firmware/controllers/actuators/electronic_throttle.h +++ b/firmware/controllers/actuators/electronic_throttle.h @@ -53,10 +53,9 @@ public: virtual void setIdlePosition(percent_t pos) = 0; virtual void setWastegatePosition(percent_t pos) = 0; virtual void update() = 0; - virtual expected getOutput() = 0; virtual void autoCalibrateTps() = 0; - virtual const pid_state_s* getPidState() const = 0; + virtual const pid_state_s& getPidState() const = 0; virtual void setLuaAdjustment(percent_t adjustment) = 0; }; diff --git a/firmware/controllers/actuators/electronic_throttle.txt b/firmware/controllers/actuators/electronic_throttle.txt index 009980d2c5..0f565e5d14 100644 --- a/firmware/controllers/actuators/electronic_throttle.txt +++ b/firmware/controllers/actuators/electronic_throttle.txt @@ -12,6 +12,8 @@ float luaAdjustment;"ETB: luaAdjustment" float etbCurrentAdjustedTarget;;"%", 1, 0, -10000, 10000, 3 bit etbRevLimitActive + bit jamDetected + float etbDutyRateOfChange float etbDutyAverage uint16_t etbTpsErrorCounter;"ETB TPS error counter" @@ -19,4 +21,6 @@ float luaAdjustment;"ETB: luaAdjustment" int8_t etbErrorCode + uint16_t autoscale jamTimer;ETB jam timer;"sec", 0.01, 0, 0, 100, 2 + end_struct \ No newline at end of file diff --git a/firmware/controllers/actuators/electronic_throttle_impl.h b/firmware/controllers/actuators/electronic_throttle_impl.h index a0613b29f1..d485716ec2 100644 --- a/firmware/controllers/actuators/electronic_throttle_impl.h +++ b/firmware/controllers/actuators/electronic_throttle_impl.h @@ -34,7 +34,6 @@ public: // Update the controller's state: read sensors, send output, etc void update() override; - expected getOutput() override; // Called when the configuration may have changed. Controller will // reset if necessary. @@ -57,8 +56,10 @@ public: void setOutput(expected outputValue) override; + void checkOutput(percent_t output); + // Used to inspect the internal PID controller's state - const pid_state_s* getPidState() const override { return &m_pid; }; + const pid_state_s& getPidState() const override { return m_pid; }; // Use the throttle to automatically calibrate the relevant throttle position sensor(s). void autoCalibrateTps() override; @@ -96,6 +97,8 @@ private: ExpAverage m_dutyRocAverage; ExpAverage m_dutyAverage; + Timer m_jamDetectTimer; + // Pedal -> target map const ValueProvider3D* m_pedalMap = nullptr; diff --git a/firmware/controllers/closed_loop_controller.h b/firmware/controllers/closed_loop_controller.h index 680de134d9..b73e57fbfa 100644 --- a/firmware/controllers/closed_loop_controller.h +++ b/firmware/controllers/closed_loop_controller.h @@ -9,12 +9,15 @@ template class ClosedLoopController { public: - void update() { + expected update() { expected outputValue = getOutput(); setOutput(outputValue); + + return outputValue; } - virtual expected getOutput() { +private: + expected getOutput() { expected setpoint = getSetpoint(); // If we don't know the setpoint, return failure. if (!setpoint) { @@ -41,7 +44,6 @@ public: return openLoopResult.Value + closedLoopResult.Value; } -private: // Get the setpoint: where should the controller put the plant? virtual expected getSetpoint() = 0; diff --git a/unit_tests/mocks.h b/unit_tests/mocks.h index b4d45c5034..011d19acc4 100644 --- a/unit_tests/mocks.h +++ b/unit_tests/mocks.h @@ -25,12 +25,11 @@ public: MOCK_METHOD(void, setIdlePosition, (percent_t pos), (override)); MOCK_METHOD(void, setWastegatePosition, (percent_t pos), (override)); MOCK_METHOD(void, autoCalibrateTps, (), (override)); - MOCK_METHOD(const pid_state_s*, getPidState, (), (const, override)); + MOCK_METHOD(const pid_state_s&, getPidState, (), (const, override)); MOCK_METHOD(void, setLuaAdjustment, (percent_t adjustment), (override)); // ClosedLoopController mocks - MOCK_METHOD(expected, getOutput, (), (override)); MOCK_METHOD(expected, getSetpoint, (), (override)); MOCK_METHOD(expected, observePlant, (), (const, override)); MOCK_METHOD(expected, getOpenLoop, (percent_t setpoint), (override)); diff --git a/unit_tests/tests/actuators/test_etb.cpp b/unit_tests/tests/actuators/test_etb.cpp index 2655788584..ceff7e9372 100644 --- a/unit_tests/tests/actuators/test_etb.cpp +++ b/unit_tests/tests/actuators/test_etb.cpp @@ -198,7 +198,6 @@ TEST(etb, initializationNoPrimarySensor) { Sensor::resetAllMocks(); EtbController dut; - EngineTestHelper eth(TEST_ENGINE); // Needs pedal for init Sensor::setMockValue(SensorType::AcceleratorPedal, 0.0f, true); @@ -470,7 +469,6 @@ TEST(etb, setpointNoPedalMap) { } TEST(etb, setpointIdleValveController) { - EngineTestHelper eth(TEST_ENGINE); EtbController etb; etb.init(ETB_IdleValve, nullptr, nullptr, nullptr, false); @@ -490,7 +488,6 @@ TEST(etb, setpointIdleValveController) { } TEST(etb, setpointWastegateController) { - EngineTestHelper eth(TEST_ENGINE); EtbController etb; etb.init(ETB_Wastegate, nullptr, nullptr, nullptr, false); @@ -561,10 +558,6 @@ TEST(etb, setpointLuaAdder) { } TEST(etb, etbTpsSensor) { - static engine_configuration_s localConfig; -// huh? how is this breaking the test? EngineTestHelper eth(TEST_ENGINE); - engineConfiguration = &localConfig; - // Throw some distinct values on the TPS sensors so we can identify that we're getting the correct one Sensor::setMockValue(SensorType::Tps1, 25.0f, true); Sensor::setMockValue(SensorType::Tps2, 75.0f, true); @@ -601,7 +594,6 @@ TEST(etb, etbTpsSensor) { etb.init(ETB_IdleValve, nullptr, nullptr, nullptr, true); EXPECT_EQ(etb.observePlant().Value, 66.0f); } - engineConfiguration = nullptr; } TEST(etb, setOutputInvalid) { @@ -746,9 +738,6 @@ TEST(etb, setOutputLimpHome) { } TEST(etb, closedLoopPid) { - static engine_configuration_s localConfig; -// huh? how is this breaking the test? EngineTestHelper eth(TEST_ENGINE); - engineConfiguration = &localConfig; pid_s pid = {}; pid.pFactor = 5; pid.maxValue = 75; @@ -762,8 +751,6 @@ TEST(etb, closedLoopPid) { EtbController etb; etb.init(ETB_Throttle1, nullptr, &pid, nullptr, true); - // todo: second part dirty hack :( - engineConfiguration = nullptr; // Disable autotune for now Engine e; EngineTestHelperBase base(&e, nullptr, nullptr); @@ -779,6 +766,59 @@ TEST(etb, closedLoopPid) { EXPECT_FLOAT_EQ(etb.getClosedLoop(50, 30).value_or(-1), 75); } +extern int timeNowUs; + +TEST(etb, jamDetection) { + EngineTestHelper eth(TEST_ENGINE); + + pid_s pid = {}; + + // I-only since we're testing out the integrator + pid.pFactor = 0; + pid.iFactor = 1; + pid.dFactor = 0; + pid.maxValue = 50; + pid.minValue = -50; + + // Must have TPS & PPS initialized for ETB setup + Sensor::setMockValue(SensorType::Tps1Primary, 0); + Sensor::setMockValue(SensorType::Tps1, 0.0f, true); + Sensor::setMockValue(SensorType::AcceleratorPedal, 0.0f, true); + + // Limit of 5%, 1 second + engineConfiguration->etbJamIntegratorLimit = 5; + engineConfiguration->etbJamTimeout = 1; + + EtbController etb; + etb.init(ETB_Throttle1, nullptr, &pid, nullptr, true); + + timeNowUs = 0; + + // Reset timer while under integrator limit + EXPECT_EQ(etb.getPidState().iTerm, 0); + etb.checkOutput(0); + EXPECT_EQ(etb.jamTimer, 0); + EXPECT_FALSE(etb.jamDetected); + + for (size_t i = 0; i < ETB_LOOP_FREQUENCY; i++) { + // Error of 10, should accumulate 10 integrator per second + etb.getClosedLoop(50, 40); + } + + EXPECT_NEAR(etb.getPidState().iTerm, 10.0f, 1e-3); + + // Just under time limit, no jam yet + timeNowUs = 0.9e6; + etb.checkOutput(0); + EXPECT_NEAR(etb.jamTimer, 0.9f, 1e-3); + EXPECT_FALSE(etb.jamDetected); + + // Above the time limit, jam detected! + timeNowUs = 1.1e6; + etb.checkOutput(0); + EXPECT_TRUE(etb.jamDetected); +} + TEST(etb, openLoopThrottle) { EngineTestHelper eth(TEST_ENGINE); From eb56c2897aba9a981407b98854462ffa76238a30 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Tue, 10 Jan 2023 13:07:17 -0800 Subject: [PATCH 6/6] detect and ignore doubled trigger edges (#4656) * isToothExpectedNow * s * s * kick ci * only warn at high enough RPM to detect non-smooth trigger * 4b11 test --- firmware/controllers/algo/obd_error_codes.h | 6 + .../controllers/trigger/trigger_central.cpp | 98 +- .../controllers/trigger/trigger_central.h | 4 +- .../controllers/trigger/trigger_central.txt | 2 + .../resources/4b11-running-doubled-edge.csv | 2050 +++++++++++++++++ unit_tests/tests/trigger/test_real_4b11.cpp | 34 + 6 files changed, 2170 insertions(+), 24 deletions(-) create mode 100644 unit_tests/tests/trigger/resources/4b11-running-doubled-edge.csv diff --git a/firmware/controllers/algo/obd_error_codes.h b/firmware/controllers/algo/obd_error_codes.h index 4399939957..54cba00e3f 100644 --- a/firmware/controllers/algo/obd_error_codes.h +++ b/firmware/controllers/algo/obd_error_codes.h @@ -2147,6 +2147,12 @@ typedef enum { CUSTOM_CAM_TOO_MANY_TEETH = 9004, CUSTOM_CAM_NOT_ENOUGH_TEETH = 9005, + // Where we expected one trigger edge, we got two in quick succession + CUSTOM_PRIMARY_DOUBLED_EDGE = 9006, + + // A trigger tooth arrived at an unexpected time + CUSTOM_PRIMARY_BAD_TOOTH_TIMING = 9007, + /** * This is not engine miss detection - this is only internal scheduler state validation * Should not happen diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index c7c85290a8..f224121d0e 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -639,6 +639,64 @@ void TriggerCentral::decodeMapCam(efitick_t timestamp, float currentPhase) { } } +bool TriggerCentral::isToothExpectedNow(efitick_t timestamp) { + // Check that the expected next phase (from the last tooth) is close to the actual current phase: + // basically, check that the tooth width is correct + auto estimatedCurrentPhase = getCurrentEnginePhase(timestamp); + auto lastToothPhase = m_lastToothPhaseFromSyncPoint; + + if (expectedNextPhase && estimatedCurrentPhase) { + float angleError = expectedNextPhase.Value - estimatedCurrentPhase.Value; + + // Wrap around correctly at the end of the cycle + float cycle = getEngineState()->engineCycle; + if (angleError < -cycle / 2) { + angleError += cycle; + } + + triggerToothAngleError = angleError; + + // Only perform checks if engine is spinning quickly + // All kinds of garbage happens while cranking + if (Sensor::getOrZero(SensorType::Rpm) > 1000) { + // Now compute how close we are to the last tooth decoded + float angleSinceLastTooth = estimatedCurrentPhase.Value - lastToothPhase; + if (angleSinceLastTooth < 0.5f) { + // This tooth came impossibly early, ignore it + // This rejects things like doubled edges, for example: + // |-| |---------------- + // | | | + // ____________| |_| + // 1 2 + // #1 will be decoded + // #2 will be ignored + // We're not sure which edge was the "real" one, but they were close enough + // together that it doesn't really matter. + warning(CUSTOM_PRIMARY_DOUBLED_EDGE, "doubled trigger edge after %.2f deg at #%d", angleSinceLastTooth, triggerState.currentCycle.current_index); + + return false; + } + + // Absolute error from last tooth + float absError = absF(angleError); + float isRpmEnough = Sensor::getOrZero(SensorType::Rpm) > 1000; + // TODO: configurable threshold + if (isRpmEnough && absError > 10 && absError < 180) { + // This tooth came at a very unexpected time, ignore it + warning(CUSTOM_PRIMARY_BAD_TOOTH_TIMING, "tooth #%d error of %.1f", triggerState.currentCycle.current_index, angleError); + + // TODO: this causes issues with some real engine logs, should it? + // return false; + } + } + } else { + triggerToothAngleError = 0; + } + + // We aren't ready to reject unexpected teeth, so accept this tooth + return true; +} + /** * This method is NOT invoked for VR falls. */ @@ -661,6 +719,11 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta } } + if (!isToothExpectedNow(timestamp)) { + triggerIgnoredToothCount++; + return; + } + isSpinningJustForWatchdog = true; m_lastEventTimer.reset(timestamp); @@ -697,20 +760,6 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta // Adjust so currentPhase is in engine-space angle, not trigger-space angle currentEngineDecodedPhase = wrapAngleMethod(currentPhaseFromSyncPoint - tdcPosition(), "currentEnginePhase", CUSTOM_ERR_6555); - // Check that the expected next phase (from the last tooth) is close to the actual current phase: - // basically, check that the tooth width is correct - auto estimatedCurrentPhase = getCurrentEnginePhase(timestamp); - if (estimatedCurrentPhase) { - float angleError = expectedNextPhase - estimatedCurrentPhase.Value; - - float cycle = getEngineState()->engineCycle; - while (angleError < -cycle / 2) { - angleError += cycle; - } - - triggerToothAngleError = angleError; - } - // Record precise time and phase of the engine. This is used for VVT decode, and to check that the // trigger pattern selected matches reality (ie, we check the next tooth is where we think it should be) { @@ -752,19 +801,20 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta wrapAngle(nextPhase, "nextEnginePhase", CUSTOM_ERR_6555); } while (nextPhase == currentEngineDecodedPhase); - expectedNextPhase = nextPhase + tdcPosition(); - wrapAngle(expectedNextPhase, "nextEnginePhase", CUSTOM_ERR_6555); + float expectNextPhase = nextPhase + tdcPosition(); + wrapAngle(expectNextPhase, "nextEnginePhase", CUSTOM_ERR_6555); + expectedNextPhase = expectNextPhase; #if EFI_CDM_INTEGRATION - if (trgEventIndex == 0 && isBrainPinValid(engineConfiguration->cdmInputPin)) { - int cdmKnockValue = getCurrentCdmValue(getTriggerCentral()->triggerState.getCrankSynchronizationCounter()); - engine->knockLogic(cdmKnockValue); - } + if (trgEventIndex == 0 && isBrainPinValid(engineConfiguration->cdmInputPin)) { + int cdmKnockValue = getCurrentCdmValue(getTriggerCentral()->triggerState.getCrankSynchronizationCounter()); + engine->knockLogic(cdmKnockValue); + } #endif /* EFI_CDM_INTEGRATION */ - if (engine->rpmCalculator.getCachedRpm() > 0 && triggerIndexForListeners == 0) { - engine->tpsAccelEnrichment.onEngineCycleTps(); - } + if (engine->rpmCalculator.getCachedRpm() > 0 && triggerIndexForListeners == 0) { + engine->tpsAccelEnrichment.onEngineCycleTps(); + } // Handle ignition and injection mainTriggerCallback(triggerIndexForListeners, timestamp, currentEngineDecodedPhase, nextPhase); @@ -774,6 +824,8 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta } else { // We don't have sync, but report to the wave chart anyway as index 0. reportEventToWaveChart(signal, 0, triggerShape.useOnlyRisingEdges); + + expectedNextPhase = unexpected; } } diff --git a/firmware/controllers/trigger/trigger_central.h b/firmware/controllers/trigger/trigger_central.h index 8db4862feb..c31cb7bc09 100644 --- a/firmware/controllers/trigger/trigger_central.h +++ b/firmware/controllers/trigger/trigger_central.h @@ -199,6 +199,8 @@ public: private: void decodeMapCam(efitick_t nowNt, float currentPhase); + bool isToothExpectedNow(efitick_t timestamp); + // Time since the last tooth Timer m_lastToothTimer; // Phase of the last tooth relative to the sync point @@ -206,7 +208,7 @@ private: // At what engine phase do we expect the next tooth to arrive? // Used for checking whether your trigger pattern is correct. - float expectedNextPhase; + expected expectedNextPhase = unexpected; }; void triggerInfo(void); diff --git a/firmware/controllers/trigger/trigger_central.txt b/firmware/controllers/trigger/trigger_central.txt index de3af2c99c..e975a9bd09 100644 --- a/firmware/controllers/trigger/trigger_central.txt +++ b/firmware/controllers/trigger/trigger_central.txt @@ -15,5 +15,7 @@ uint32_t vvtCamCounter float triggerToothAngleError;;"deg", 1, 0, -30, 30, 2 + uint8_t triggerIgnoredToothCount + end_struct diff --git a/unit_tests/tests/trigger/resources/4b11-running-doubled-edge.csv b/unit_tests/tests/trigger/resources/4b11-running-doubled-edge.csv new file mode 100644 index 0000000000..d9a0c9391c --- /dev/null +++ b/unit_tests/tests/trigger/resources/4b11-running-doubled-edge.csv @@ -0,0 +1,2050 @@ +Time[s], Channel 0, Channel 1 +5.217579750000000, 1, 1 +5.218129500000000, 0, 1 +5.218737249999999, 1, 1 +5.219288250000000, 0, 1 +5.219896250000000, 1, 1 +5.220446750000000, 0, 1 +5.221056500000000, 1, 1 +5.221608499999999, 0, 1 +5.222220750000000, 1, 1 +5.222381749999999, 1, 0 +5.222773999999999, 0, 0 +5.223388250000000, 1, 0 +5.223944749999999, 0, 0 +5.224562250000000, 1, 0 +5.225119500000000, 0, 0 +5.225736749999999, 1, 0 +5.226297750000000, 0, 0 +5.226915750000000, 1, 0 +5.227474500000000, 0, 0 +5.228093750000000, 1, 0 +5.228651000000000, 0, 0 +5.229271000000000, 1, 0 +5.229827750000000, 0, 0 +5.230447499999999, 1, 0 +5.231006000000000, 0, 0 +5.231626749999999, 1, 0 +5.232184500000000, 0, 0 +5.232806000000000, 1, 0 +5.233366000000000, 0, 0 +5.236180500000000, 1, 0 +5.236908000000000, 0, 0 +5.237527249999999, 1, 0 +5.238086249999999, 0, 0 +5.238705000000000, 1, 0 +5.239261500000000, 0, 0 +5.239879000000000, 1, 0 +5.240434250000000, 0, 0 +5.241050000000000, 1, 0 +5.241605250000000, 0, 0 +5.242222500000000, 1, 0 +5.242776000000000, 0, 0 +5.243393500000000, 1, 0 +5.243949250000000, 0, 0 +5.244568249999999, 1, 0 +5.245124250000000, 0, 0 +5.245745749999999, 1, 0 +5.246303000000000, 0, 0 +5.246924750000000, 1, 0 +5.247484000000000, 0, 0 +5.248106500000000, 1, 0 +5.248665750000000, 0, 0 +5.249288750000000, 1, 0 +5.249846750000000, 0, 0 +5.250470750000000, 1, 0 +5.251026000000000, 0, 0 +5.251645500000000, 1, 0 +5.252200500000000, 0, 0 +5.252816000000000, 1, 0 +5.253367000000000, 0, 0 +5.253979250000000, 1, 0 +5.254526750000000, 0, 0 +5.255135999999999, 1, 0 +5.255682500000000, 0, 0 +5.257223750000000, 1, 0 +5.257992000000000, 0, 0 +5.258595500000000, 1, 0 +5.259145000000000, 0, 0 +5.259752000000000, 1, 0 +5.260300249999999, 0, 0 +5.260907250000000, 1, 0 +5.261457750000000, 0, 0 +5.262066500000000, 1, 0 +5.262617250000000, 0, 0 +5.263228000000000, 1, 0 +5.263781000000000, 0, 0 +5.264394750000000, 1, 0 +5.264949500000000, 0, 0 +5.265412250000000, 0, 1 +5.265565500000000, 1, 1 +5.266123500000000, 0, 1 +5.266742750000000, 1, 1 +5.267301250000000, 0, 1 +5.267920500000000, 1, 1 +5.268483250000000, 0, 1 +5.269103500000000, 1, 1 +5.269663500000000, 0, 1 +5.270284750000000, 1, 1 +5.270843000000000, 0, 1 +5.271464750000000, 1, 1 +5.272021000000000, 0, 1 +5.272640249999999, 1, 1 +5.273196250000000, 0, 1 +5.273812250000000, 1, 1 +5.274363999999999, 0, 1 +5.274977250000000, 1, 1 +5.275527500000000, 0, 1 +5.278286500000000, 1, 1 +5.278994750000000, 0, 1 +5.279600500000000, 1, 1 +5.280147500000000, 0, 1 +5.280754250000000, 1, 1 +5.281299750000000, 0, 1 +5.281905999999999, 1, 1 +5.282451500000000, 0, 1 +5.283057250000000, 1, 1 +5.283603750000000, 0, 1 +5.284211750000000, 1, 1 +5.284758000000000, 0, 1 +5.285368249999999, 1, 1 +5.285916750000000, 0, 1 +5.286529250000000, 1, 1 +5.287078750000000, 0, 1 +5.287693750000000, 1, 1 +5.288245000000000, 0, 1 +5.288861000000000, 1, 1 +5.289414250000000, 0, 1 +5.290030499999999, 1, 1 +5.290583250000000, 0, 1 +5.291200000000000, 1, 1 +5.291752000000000, 0, 1 +5.292370000000000, 1, 1 +5.292921000000000, 0, 1 +5.293536500000000, 1, 1 +5.294090499999999, 0, 1 +5.294705500000000, 1, 1 +5.295258000000000, 0, 1 +5.295872000000000, 1, 1 +5.296421500000000, 0, 1 +5.297033000000000, 1, 1 +5.297581249999999, 0, 1 +5.299126500000000, 1, 1 +5.299893000000000, 0, 1 +5.300494749999999, 1, 1 +5.301041750000000, 0, 1 +5.301644749999999, 1, 1 +5.302189500000000, 0, 1 +5.302791000000000, 1, 1 +5.303336499999999, 0, 1 +5.303939000000000, 1, 1 +5.304483750000000, 0, 1 +5.305086999999999, 1, 1 +5.305633250000000, 0, 1 +5.306239000000000, 1, 1 +5.306398000000000, 1, 0 +5.306786250000000, 0, 0 +5.307393500000000, 1, 0 +5.307944249999999, 0, 0 +5.308555500000000, 1, 0 +5.309107500000000, 0, 0 +5.309719750000000, 1, 0 +5.310276249999999, 0, 0 +5.310889749999999, 1, 0 +5.311444499999999, 0, 0 +5.312060000000000, 1, 0 +5.312613499999999, 0, 0 +5.313229750000000, 1, 0 +5.313783250000000, 0, 0 +5.314399750000000, 1, 0 +5.314954750000000, 0, 0 +5.315572250000000, 1, 0 +5.316127499999999, 0, 0 +5.316746500000000, 1, 0 +5.317304249999999, 0, 0 +5.320113500000000, 1, 0 +5.320841000000000, 0, 0 +5.321460500000000, 1, 0 +5.322020750000000, 0, 0 +5.322640250000000, 1, 0 +5.323198500000000, 0, 0 +5.323817500000000, 1, 0 +5.324374000000000, 0, 0 +5.324991499999999, 1, 0 +5.325548250000000, 0, 0 +5.326167250000000, 1, 0 +5.326722250000000, 0, 0 +5.327341250000000, 1, 0 +5.327898500000000, 0, 0 +5.328519000000000, 1, 0 +5.329075500000000, 0, 0 +5.329698250000000, 1, 0 +5.330256250000000, 0, 0 +5.330879250000000, 1, 0 +5.331439749999999, 0, 0 +5.332062750000000, 1, 0 +5.332623250000000, 0, 0 +5.333247750000000, 1, 0 +5.333806249999999, 0, 0 +5.334432500000000, 1, 0 +5.334989500000000, 0, 0 +5.335611999999999, 1, 0 +5.336171999999999, 0, 0 +5.336792750000000, 1, 0 +5.337349250000000, 0, 0 +5.337967500000000, 1, 0 +5.338520500000000, 0, 0 +5.339136250000000, 1, 0 +5.339688000000000, 0, 0 +5.341241500000000, 1, 0 +5.342013500000000, 0, 0 +5.342619249999999, 1, 0 +5.343169749999999, 0, 0 +5.343777500000000, 1, 0 +5.344326000000000, 0, 0 +5.344931500000000, 1, 0 +5.345480750000000, 0, 0 +5.346087250000000, 1, 0 +5.346634500000000, 0, 0 +5.347241250000000, 1, 0 +5.347790499999999, 0, 0 +5.348400250000000, 1, 0 +5.348950500000000, 0, 0 +5.349412000000000, 0, 1 +5.349561749999999, 1, 1 +5.350115750000000, 0, 1 +5.350731250000000, 1, 1 +5.351287249999999, 0, 1 +5.351903999999999, 1, 1 +5.352465500000000, 0, 1 +5.353084249999999, 1, 1 +5.353644249999999, 0, 1 +5.354266000000000, 1, 1 +5.354824499999999, 0, 1 +5.355446250000000, 1, 1 +5.356003500000000, 0, 1 +5.356622750000000, 1, 1 +5.357178500000000, 0, 1 +5.357794250000000, 1, 1 +5.358346000000000, 0, 1 +5.358959500000000, 1, 1 +5.359510250000000, 0, 1 +5.362278250000000, 1, 1 +5.362992250000000, 0, 1 +5.363601750000000, 1, 1 +5.364152750000000, 0, 1 +5.364763249999999, 1, 1 +5.365312500000000, 0, 1 +5.365923000000000, 1, 1 +5.366471750000000, 0, 1 +5.367081250000000, 1, 1 +5.367630999999999, 0, 1 +5.368242749999999, 1, 1 +5.368791250000000, 0, 1 +5.369404250000000, 1, 1 +5.369955500000000, 0, 1 +5.370570000000000, 1, 1 +5.371121749999999, 0, 1 +5.371738500000000, 1, 1 +5.372292000000000, 0, 1 +5.372909750000000, 1, 1 +5.373464999999999, 0, 1 +5.374082749999999, 1, 1 +5.374637750000000, 0, 1 +5.375255750000000, 1, 1 +5.375809250000000, 0, 1 +5.376428250000000, 1, 1 +5.376980250000000, 0, 1 +5.377596500000000, 1, 1 +5.378150499999999, 0, 1 +5.378764500000000, 1, 1 +5.379316750000000, 0, 1 +5.379929499999999, 1, 1 +5.380477750000000, 0, 1 +5.381088000000000, 1, 1 +5.381635250000000, 0, 1 +5.383179500000000, 1, 1 +5.383943500000000, 0, 1 +5.384545250000000, 1, 1 +5.385091750000000, 0, 1 +5.385694750000000, 1, 1 +5.386239750000000, 0, 1 +5.386841749999999, 1, 1 +5.387387500000000, 0, 1 +5.387990750000000, 1, 1 +5.388535999999999, 0, 1 +5.389139999999999, 1, 1 +5.389686999999999, 0, 1 +5.390293750000000, 1, 1 +5.390449750000000, 1, 0 +5.390842000000000, 0, 0 +5.391450499999999, 1, 0 +5.392002250000000, 0, 0 +5.392614500000000, 1, 0 +5.393167249999999, 0, 0 +5.393780000000000, 1, 0 +5.393781000000000, 0, 0 +5.393782000000000, 1, 0 +5.394337000000000, 0, 0 +5.394951250000000, 1, 0 +5.395506000000000, 0, 0 +5.396121750000000, 1, 0 +5.396675750000000, 0, 0 +5.397292500000000, 1, 0 +5.397845999999999, 0, 0 +5.398463000000000, 1, 0 +5.399018499999999, 0, 0 +5.399636750000000, 1, 0 +5.400192500000000, 0, 0 +5.400812999999999, 1, 0 +5.401371500000000, 0, 0 +5.404192249999999, 1, 0 +5.404923500000000, 0, 0 +5.405546999999999, 1, 0 +5.406110750000000, 0, 0 +5.406734999999999, 1, 0 +5.407297250000000, 0, 0 +5.407920750000000, 1, 0 +5.408482250000000, 0, 0 +5.409104750000000, 1, 0 +5.409666500000000, 0, 0 +5.410291000000000, 1, 0 +5.410850750000000, 0, 0 +5.411474999999999, 1, 0 +5.412037250000000, 0, 0 +5.412662249999999, 1, 0 +5.413224000000000, 0, 0 +5.413850750000000, 1, 0 +5.414413750000000, 0, 0 +5.415041000000000, 1, 0 +5.415605250000000, 0, 0 +5.416232750000000, 1, 0 +5.416796499999999, 0, 0 +5.417424250000000, 1, 0 +5.417986500000000, 0, 0 +5.418615750000000, 1, 0 +5.419175999999999, 0, 0 +5.419801750000000, 1, 0 +5.420363500000000, 0, 0 +5.420986500000000, 1, 0 +5.421544500000000, 0, 0 +5.422164749999999, 1, 0 +5.422719499999999, 0, 0 +5.423337249999999, 1, 0 +5.423890500000000, 0, 0 +5.425451250000000, 1, 0 +5.426226000000000, 0, 0 +5.426835000000000, 1, 0 +5.427388250000000, 0, 0 +5.427999000000000, 1, 0 +5.428550250000000, 0, 0 +5.429159500000000, 1, 0 +5.429711750000000, 0, 0 +5.430321500000000, 1, 0 +5.430872750000000, 0, 0 +5.431483500000000, 1, 0 +5.432035750000000, 0, 0 +5.432648250000000, 1, 0 +5.433201000000000, 0, 0 +5.433670250000000, 0, 1 +5.433814250000000, 1, 1 +5.434369250000000, 0, 1 +5.434985250000000, 1, 1 +5.435540749999999, 0, 1 +5.436157000000000, 1, 1 +5.436717499999999, 0, 1 +5.437335249999999, 1, 1 +5.437893250000000, 0, 1 +5.438513250000000, 1, 1 +5.439070249999999, 0, 1 +5.439691000000000, 1, 1 +5.440247750000000, 0, 1 +5.440867250000000, 1, 1 +5.441424500000000, 0, 1 +5.442042750000000, 1, 1 +5.442597249999999, 0, 1 +5.443214250000000, 1, 1 +5.443768500000000, 0, 1 +5.446557750000000, 1, 1 +5.447277000000000, 0, 1 +5.447891500000000, 1, 1 +5.448446750000000, 0, 1 +5.449062250000000, 1, 1 +5.449616000000000, 0, 1 +5.450231250000000, 1, 1 +5.450784000000000, 0, 1 +5.451397750000000, 1, 1 +5.451951250000000, 0, 1 +5.452567250000000, 1, 1 +5.453119500000000, 0, 1 +5.453736250000000, 1, 1 +5.454291000000000, 0, 1 +5.454909499999999, 1, 1 +5.455464750000000, 0, 1 +5.456085750000000, 1, 1 +5.456642749999999, 0, 1 +5.457264500000000, 1, 1 +5.457823500000000, 0, 1 +5.458445750000000, 1, 1 +5.459004250000000, 0, 1 +5.459626750000000, 1, 1 +5.460184500000000, 0, 1 +5.460809250000000, 1, 1 +5.461366000000000, 0, 1 +5.461988000000000, 1, 1 +5.462548000000000, 0, 1 +5.463169750000000, 1, 1 +5.463728250000000, 0, 1 +5.464348999999999, 1, 1 +5.464904250000000, 0, 1 +5.465522249999999, 1, 1 +5.466076500000000, 0, 1 +5.467639000000000, 1, 1 +5.468412250000000, 0, 1 +5.469020000000000, 1, 1 +5.469572749999999, 0, 1 +5.470182250000000, 1, 1 +5.470732250000000, 0, 1 +5.471339500000000, 1, 1 +5.471889750000000, 0, 1 +5.472497499999999, 1, 1 +5.473046249999999, 0, 1 +5.473653500000000, 1, 1 +5.474203000000000, 0, 1 +5.474812249999999, 1, 1 +5.474976250000000, 1, 0 +5.475362250000000, 0, 0 +5.475972000000000, 1, 0 +5.476524749999999, 0, 0 +5.477137750000000, 1, 0 +5.477691249999999, 0, 0 +5.478305250000000, 1, 0 +5.478863000000000, 0, 0 +5.479479000000000, 1, 0 +5.480035000000000, 0, 0 +5.480652999999999, 1, 0 +5.481209000000000, 0, 0 +5.481828999999999, 1, 0 +5.482385250000000, 0, 0 +5.483005500000000, 1, 0 +5.483564500000000, 0, 0 +5.484186250000000, 1, 0 +5.484745250000000, 0, 0 +5.485367999999999, 1, 0 +5.485929749999999, 0, 0 +5.488760000000000, 1, 0 +5.489492250000000, 0, 0 +5.490116250000000, 1, 0 +5.490680500000000, 0, 0 +5.491305000000000, 1, 0 +5.491867249999999, 0, 0 +5.492490999999999, 1, 0 +5.493052000000000, 0, 0 +5.493674250000000, 1, 0 +5.494235250000000, 0, 0 +5.494858750000000, 1, 0 +5.495418000000000, 0, 0 +5.496041500000000, 1, 0 +5.496602999999999, 0, 0 +5.497227500000000, 1, 0 +5.497789000000000, 0, 0 +5.498416250000000, 1, 0 +5.498978500000000, 0, 0 +5.499605499999999, 1, 0 +5.500170000000000, 0, 0 +5.500797250000000, 1, 0 +5.501361500000000, 0, 0 +5.501989500000000, 1, 0 +5.502552000000000, 0, 0 +5.503181500000000, 1, 0 +5.503741750000000, 0, 0 +5.504366999999999, 1, 0 +5.504928250000000, 0, 0 +5.505550250000000, 1, 0 +5.506108250000000, 0, 0 +5.506727250000000, 1, 0 +5.507281000000000, 0, 0 +5.507897499999999, 1, 0 +5.508450000000000, 0, 0 +5.510009500000000, 1, 0 +5.510786500000000, 0, 0 +5.511397250000000, 1, 0 +5.511953000000000, 0, 0 +5.512567250000000, 1, 0 +5.513122500000000, 0, 0 +5.513736499999999, 1, 0 +5.514294250000000, 0, 0 +5.514910500000000, 1, 0 +5.515467999999999, 0, 0 +5.516086000000000, 1, 0 +5.516645749999999, 0, 0 +5.517266250000000, 1, 0 +5.517827250000000, 0, 0 +5.518291749999999, 0, 1 +5.518448999999999, 1, 1 +5.519012750000000, 0, 1 +5.519638250000000, 1, 1 +5.520202750000000, 0, 1 +5.520828250000000, 1, 1 +5.521396999999999, 0, 1 +5.522023500000000, 1, 1 +5.522590000000000, 0, 1 +5.523218249999999, 1, 1 +5.523782000000000, 0, 1 +5.524410000000000, 1, 1 +5.524972750000000, 0, 1 +5.525598500000000, 1, 1 +5.526160500000000, 0, 1 +5.526783500000000, 1, 1 +5.527340499999999, 0, 1 +5.527959750000000, 1, 1 +5.528515750000000, 0, 1 +5.531301249999999, 1, 1 +5.532018000000000, 0, 1 +5.532629249999999, 1, 1 +5.533180750000000, 0, 1 +5.533792249999999, 1, 1 +5.534342750000000, 0, 1 +5.534954250000000, 1, 1 +5.535504250000000, 0, 1 +5.536115500000000, 1, 1 +5.536666750000000, 0, 1 +5.537280500000000, 1, 1 +5.537831499999999, 0, 1 +5.538447000000000, 1, 1 +5.539001250000000, 0, 1 +5.539619249999999, 1, 1 +5.540174500000000, 0, 1 +5.540795999999999, 1, 1 +5.541353249999999, 0, 1 +5.541975499999999, 1, 1 +5.542535000000000, 0, 1 +5.543158000000000, 1, 1 +5.543717000000000, 0, 1 +5.544340249999999, 1, 1 +5.544897499999999, 0, 1 +5.545521750000000, 1, 1 +5.546076750000000, 0, 1 +5.546696499999999, 1, 1 +5.547253250000000, 0, 1 +5.547870750000000, 1, 1 +5.548424750000000, 0, 1 +5.549040499999999, 1, 1 +5.549590999999999, 0, 1 +5.550204000000000, 1, 1 +5.550754000000000, 0, 1 +5.552306250000000, 1, 1 +5.553076750000000, 0, 1 +5.553682999999999, 1, 1 +5.554234000000000, 0, 1 +5.554842250000000, 1, 1 +5.555391999999999, 0, 1 +5.555999250000000, 1, 1 +5.556550250000000, 0, 1 +5.557159250000000, 1, 1 +5.557709500000000, 0, 1 +5.558319750000000, 1, 1 +5.558871750000000, 0, 1 +5.559484250000000, 1, 1 +5.559642250000000, 1, 0 +5.560037500000000, 0, 0 +5.560651500000000, 1, 0 +5.561207749999999, 0, 0 +5.561825000000000, 1, 0 +5.562381999999999, 0, 0 +5.562999250000000, 1, 0 +5.563559750000000, 0, 0 +5.564177750000000, 1, 0 +5.564735750000000, 0, 0 +5.565354999999999, 1, 0 +5.565911750000000, 0, 0 +5.566532250000000, 1, 0 +5.567089000000000, 0, 0 +5.567710000000000, 1, 0 +5.568269250000000, 0, 0 +5.568891750000000, 1, 0 +5.569451500000000, 0, 0 +5.570075500000000, 1, 0 +5.570638250000000, 0, 0 +5.573481500000000, 1, 0 +5.574216000000000, 0, 0 +5.574843500000000, 1, 0 +5.575411500000000, 0, 0 +5.576040000000000, 1, 0 +5.576606750000000, 0, 0 +5.577235249999999, 1, 0 +5.577801249999999, 0, 0 +5.578428750000000, 1, 0 +5.578995500000000, 0, 0 +5.579625000000000, 1, 0 +5.580190249999999, 0, 0 +5.580819500000000, 1, 0 +5.581386999999999, 0, 0 +5.582018000000000, 1, 0 +5.582585000000000, 0, 0 +5.583218000000000, 1, 0 +5.583786250000000, 0, 0 +5.584419500000000, 1, 0 +5.584989500000000, 0, 0 +5.585622750000000, 1, 0 +5.586192500000000, 0, 0 +5.586826500000000, 1, 0 +5.587394000000000, 0, 0 +5.588029000000000, 1, 0 +5.588594250000000, 0, 0 +5.589224750000000, 1, 0 +5.589790499999999, 0, 0 +5.590417250000000, 1, 0 +5.590978499999999, 0, 0 +5.591602000000000, 1, 0 +5.592159500000000, 0, 0 +5.592780250000000, 1, 0 +5.593336750000000, 0, 0 +5.594905499999999, 1, 0 +5.595685000000000, 0, 0 +5.596297499999999, 1, 0 +5.596854749999999, 0, 0 +5.597469500000000, 1, 0 +5.598024500000000, 0, 0 +5.598637750000000, 1, 0 +5.599193750000000, 0, 0 +5.599807250000000, 1, 0 +5.600362250000000, 0, 0 +5.600976250000000, 1, 0 +5.601531749999999, 0, 0 +5.602148000000000, 1, 0 +5.602703500000000, 0, 0 +5.603174500000000, 0, 1 +5.603320000000000, 1, 1 +5.603877750000000, 0, 1 +5.604496999999999, 1, 1 +5.605055249999999, 0, 1 +5.605673749999999, 1, 1 +5.606236000000000, 0, 1 +5.606855500000000, 1, 1 +5.607414500000000, 0, 1 +5.608035249999999, 1, 1 +5.608592250000000, 0, 1 +5.609212500000000, 1, 1 +5.609768250000000, 0, 1 +5.610385750000000, 1, 1 +5.610940250000000, 0, 1 +5.611555000000000, 1, 1 +5.612105250000000, 0, 1 +5.612716750000000, 1, 1 +5.613266250000000, 0, 1 +5.616027750000000, 1, 1 +5.616741250000000, 0, 1 +5.617350500000000, 1, 1 +5.617901750000000, 0, 1 +5.618513249999999, 1, 1 +5.619064000000000, 0, 1 +5.619676500000000, 1, 1 +5.620227499999999, 0, 1 +5.620840500000000, 1, 1 +5.621393500000000, 0, 1 +5.622010000000000, 1, 1 +5.622563749999999, 0, 1 +5.623182500000000, 1, 1 +5.623740000000000, 0, 1 +5.624361749999999, 1, 1 +5.624920250000000, 0, 1 +5.625545250000000, 1, 1 +5.626105250000000, 0, 1 +5.626731250000000, 1, 1 +5.627293750000000, 0, 1 +5.627920000000000, 1, 1 +5.628482500000000, 0, 1 +5.629109000000000, 1, 1 +5.629669750000000, 0, 1 +5.630297250000000, 1, 1 +5.630856000000000, 0, 1 +5.631479000000000, 1, 1 +5.632039499999999, 0, 1 +5.632660500000000, 1, 1 +5.633217750000000, 0, 1 +5.633836500000000, 1, 1 +5.634390250000000, 0, 1 +5.635006499999999, 1, 1 +5.635559000000000, 0, 1 +5.637117000000000, 1, 1 +5.637891000000000, 0, 1 +5.638499250000000, 1, 1 +5.639052500000000, 0, 1 +5.639663250000000, 1, 1 +5.640214500000000, 0, 1 +5.640823500000000, 1, 1 +5.641376500000000, 0, 1 +5.641986750000000, 1, 1 +5.642538999999999, 0, 1 +5.643150500000000, 1, 1 +5.643703749999999, 0, 1 +5.644317249999999, 1, 1 +5.644477250000000, 1, 0 +5.644871250000000, 0, 0 +5.645485750000000, 1, 0 +5.646042500000000, 0, 0 +5.646659750000000, 1, 0 +5.647216750000000, 0, 0 +5.647834000000000, 1, 0 +5.648394250000000, 0, 0 +5.649012000000000, 1, 0 +5.649569750000000, 0, 0 +5.650189000000000, 1, 0 +5.650745750000000, 0, 0 +5.651365750000000, 1, 0 +5.651922500000000, 0, 0 +5.652542500000000, 1, 0 +5.653101749999999, 0, 0 +5.653723250000000, 1, 0 +5.654281999999999, 0, 0 +5.654904999999999, 1, 0 +5.655466250000000, 0, 0 +5.658294750000000, 1, 0 +5.659025750000000, 0, 0 +5.659649250000000, 1, 0 +5.660213000000000, 0, 0 +5.660837000000000, 1, 0 +5.661398999999999, 0, 0 +5.662022250000000, 1, 0 +5.662582749999999, 0, 0 +5.663204500000000, 1, 0 +5.663765250000000, 0, 0 +5.664388250000000, 1, 0 +5.664947000000000, 0, 0 +5.665570499999999, 1, 0 +5.666131500000000, 0, 0 +5.666755999999999, 1, 0 +5.667317250000000, 0, 0 +5.667943999999999, 1, 0 +5.668506499999999, 0, 0 +5.669133500000000, 1, 0 +5.669697750000000, 0, 0 +5.670325249999999, 1, 0 +5.670889250000000, 0, 0 +5.671517750000000, 1, 0 +5.672080250000000, 0, 0 +5.672709500000000, 1, 0 +5.673269749999999, 0, 0 +5.673894750000000, 1, 0 +5.674455249999999, 0, 0 +5.675076000000000, 1, 0 +5.675632750000000, 0, 0 +5.676250500000000, 1, 0 +5.676803000000000, 0, 0 +5.677417999999999, 1, 0 +5.677969249999999, 0, 0 +5.679524750000000, 1, 0 +5.680297250000000, 0, 0 +5.680905500000000, 1, 0 +5.681458750000000, 0, 0 +5.682070500000000, 1, 0 +5.682623000000000, 0, 0 +5.683234499999999, 1, 0 +5.683789500000000, 0, 0 +5.684402749999999, 1, 0 +5.684958000000000, 0, 0 +5.685573000000000, 1, 0 +5.686129999999999, 0, 0 +5.686748250000000, 1, 0 +5.687306749999999, 0, 0 +5.687770000000000, 0, 1 +5.687926750000000, 1, 1 +5.688488500000000, 0, 1 +5.689112499999999, 1, 1 +5.689674999999999, 0, 1 +5.690298750000000, 1, 1 +5.690866499999999, 0, 1 +5.691491750000000, 1, 1 +5.692056750000000, 0, 1 +5.692684000000000, 1, 1 +5.693246750000000, 0, 1 +5.693873500000000, 1, 1 +5.694434750000000, 0, 1 +5.695058250000000, 1, 1 +5.695618250000000, 0, 1 +5.696238500000000, 1, 1 +5.696793250000000, 0, 1 +5.697410250000000, 1, 1 +5.697963750000000, 0, 1 +5.700739250000000, 1, 1 +5.701454000000000, 0, 1 +5.702064000000000, 1, 1 +5.702615000000000, 0, 1 +5.703226000000000, 1, 1 +5.703776250000000, 0, 1 +5.704387500000000, 1, 1 +5.704937250000000, 0, 1 +5.705548750000000, 1, 1 +5.706100000000000, 0, 1 +5.706714000000000, 1, 1 +5.707264500000000, 0, 1 +5.707879750000000, 1, 1 +5.708433749999999, 0, 1 +5.709050749999999, 1, 1 +5.709604750000000, 0, 1 +5.710224750000000, 1, 1 +5.710780000000000, 0, 1 +5.711399999999999, 1, 1 +5.711957500000000, 0, 1 +5.712577500000000, 1, 1 +5.713134000000000, 0, 1 +5.713754250000000, 1, 1 +5.714309000000000, 0, 1 +5.714929750000000, 1, 1 +5.715482750000000, 0, 1 +5.716099750000000, 1, 1 +5.716654000000000, 0, 1 +5.717268250000000, 1, 1 +5.717819000000000, 0, 1 +5.718430250000000, 1, 1 +5.718977250000000, 0, 1 +5.719586250000000, 1, 1 +5.720132000000000, 0, 1 +5.721672499999999, 1, 1 +5.722438250000000, 0, 1 +5.723040500000000, 1, 1 +5.723588250000000, 0, 1 +5.724193500000000, 1, 1 +5.724739500000000, 0, 1 +5.725344000000000, 1, 1 +5.725892249999999, 0, 1 +5.726497999999999, 1, 1 +5.727046000000000, 0, 1 +5.727653500000000, 1, 1 +5.728203750000000, 0, 1 +5.728814000000000, 1, 1 +5.728976500000000, 1, 0 +5.729365500000000, 0, 0 +5.729977250000000, 1, 0 +5.730532000000000, 0, 0 +5.731147249999999, 1, 0 +5.731701999999999, 0, 0 +5.732317249999999, 1, 0 +5.732876000000000, 0, 0 +5.733492000000000, 1, 0 +5.734048000000000, 0, 0 +5.734665499999999, 1, 0 +5.735220249999999, 0, 0 +5.735838500000000, 1, 0 +5.736393500000000, 0, 0 +5.737012249999999, 1, 0 +5.737569499999999, 0, 0 +5.738189750000000, 1, 0 +5.738747000000000, 0, 0 +5.739368750000000, 1, 0 +5.739929500000000, 0, 0 +5.742758500000000, 1, 0 +5.743490000000000, 0, 0 +5.744114250000000, 1, 0 +5.744678500000000, 0, 0 +5.745303250000000, 1, 0 +5.745866250000000, 0, 0 +5.746490500000000, 1, 0 +5.747052999999999, 0, 0 +5.747676750000000, 1, 0 +5.748239750000000, 0, 0 +5.748865250000000, 1, 0 +5.749426499999999, 0, 0 +5.750052000000000, 1, 0 +5.750615250000000, 0, 0 +5.751241750000000, 1, 0 +5.751804500000000, 0, 0 +5.752432750000000, 1, 0 +5.752996749999999, 0, 0 +5.753625500000000, 1, 0 +5.754191000000000, 0, 0 +5.754819500000000, 1, 0 +5.755385000000000, 0, 0 +5.756014250000000, 1, 0 +5.756577750000000, 0, 0 +5.757208250000000, 1, 0 +5.757770000000000, 0, 0 +5.758397000000000, 1, 0 +5.758960750000000, 0, 0 +5.759586000000000, 1, 0 +5.760146750000000, 0, 0 +5.760769250000000, 1, 0 +5.761326500000000, 0, 0 +5.761947000000000, 1, 0 +5.762502500000000, 0, 0 +5.764070750000000, 1, 0 +5.764847500000000, 0, 0 +5.765458750000000, 1, 0 +5.766014250000000, 0, 0 +5.766627250000000, 1, 0 +5.767180750000000, 0, 0 +5.767792500000000, 1, 0 +5.768346750000000, 0, 0 +5.768959000000000, 1, 0 +5.769511749999999, 0, 0 +5.770124249999999, 1, 0 +5.770678250000000, 0, 0 +5.771292499999999, 1, 0 +5.771846750000000, 0, 0 +5.772313000000000, 0, 1 +5.772461750000000, 1, 1 +5.773018250000000, 0, 1 +5.773635750000000, 1, 1 +5.774192750000000, 0, 1 +5.774810000000000, 1, 1 +5.775371000000000, 0, 1 +5.775988750000000, 1, 1 +5.776547000000000, 0, 1 +5.777166250000000, 1, 1 +5.777723000000000, 0, 1 +5.778342500000000, 1, 1 +5.778897750000000, 0, 1 +5.779515249999999, 1, 1 +5.780070750000000, 0, 1 +5.780686500000000, 1, 1 +5.781238000000000, 0, 1 +5.781850749999999, 1, 1 +5.782400750000000, 0, 1 +5.785156750000000, 1, 1 +5.785868250000000, 0, 1 +5.786475500000000, 1, 1 +5.787023250000000, 0, 1 +5.787631500000000, 1, 1 +5.788179250000000, 0, 1 +5.788788750000000, 1, 1 +5.789337000000000, 0, 1 +5.789946500000000, 1, 1 +5.790497250000000, 0, 1 +5.791110750000000, 1, 1 +5.791661749999999, 0, 1 +5.792277749999999, 1, 1 +5.792833000000000, 0, 1 +5.793452250000000, 1, 1 +5.794008499999999, 0, 1 +5.794631499999999, 1, 1 +5.795189750000000, 0, 1 +5.795813500000000, 1, 1 +5.796374250000000, 0, 1 +5.796998749999999, 1, 1 +5.797559250000000, 0, 1 +5.798184000000000, 1, 1 +5.798743249999999, 0, 1 +5.799369250000000, 1, 1 +5.799926250000000, 0, 1 +5.800548000000000, 1, 1 +5.801106000000000, 0, 1 +5.801724500000000, 1, 1 +5.802279250000000, 0, 1 +5.802895250000000, 1, 1 +5.803446500000000, 0, 1 +5.804060250000000, 1, 1 +5.804610500000000, 0, 1 +5.806162500000000, 1, 1 +5.806933500000000, 0, 1 +5.807539750000000, 1, 1 +5.808091249999999, 0, 1 +5.808700249999999, 1, 1 +5.809250250000000, 0, 1 +5.809858250000000, 1, 1 +5.810409249999999, 0, 1 +5.811018000000000, 1, 1 +5.811569000000000, 0, 1 +5.812179250000000, 1, 1 +5.812731250000000, 0, 1 +5.813343750000000, 1, 1 +5.813498750000000, 1, 0 +5.813896750000000, 0, 0 +5.814510500000000, 1, 0 +5.815066250000000, 0, 0 +5.815683000000000, 1, 0 +5.816238999999999, 0, 0 +5.816854999999999, 1, 0 +5.817414749999999, 0, 0 +5.818031250000000, 1, 0 +5.818588249999999, 0, 0 +5.819206250000000, 1, 0 +5.819761250000000, 0, 0 +5.820380000000000, 1, 0 +5.820934250000000, 0, 0 +5.821552250000000, 1, 0 +5.822108249999999, 0, 0 +5.822726750000000, 1, 0 +5.823282750000000, 0, 0 +5.823901999999999, 1, 0 +5.824459750000000, 0, 0 +5.827267000000000, 1, 0 +5.827992249999999, 0, 0 +5.828609500000000, 1, 0 +5.829167249999999, 0, 0 +5.829784750000000, 1, 0 +5.830339749999999, 0, 0 +5.830955500000000, 1, 0 +5.831508749999999, 0, 0 +5.832123000000000, 1, 0 +5.832676750000000, 0, 0 +5.833292250000000, 1, 0 +5.833844249999999, 0, 0 +5.834460249999999, 1, 0 +5.835014250000000, 0, 0 +5.835630999999999, 1, 0 +5.836185250000000, 0, 0 +5.836804500000000, 1, 0 +5.837360250000000, 0, 0 +5.837981000000000, 1, 0 +5.838539249999999, 0, 0 +5.839160499999999, 1, 0 +5.839718500000000, 0, 0 +5.840340500000000, 1, 0 +5.840897500000000, 0, 0 +5.841521250000000, 1, 0 +5.842076749999999, 0, 0 +5.842696750000000, 1, 0 +5.843254000000000, 0, 0 +5.843872000000000, 1, 0 +5.844426250000000, 0, 0 +5.845041999999999, 1, 0 +5.845592750000000, 0, 0 +5.846207000000000, 1, 0 +5.846757250000000, 0, 0 +5.848311250000000, 1, 0 +5.849084500000000, 0, 0 +5.849692500000000, 1, 0 +5.850245750000000, 0, 0 +5.850856750000000, 1, 0 +5.851409250000000, 0, 0 +5.852020000000000, 1, 0 +5.852574250000000, 0, 0 +5.853186500000000, 1, 0 +5.853740500000000, 0, 0 +5.854354000000000, 1, 0 +5.854909500000000, 0, 0 +5.855525500000000, 1, 0 +5.856081750000000, 0, 0 +5.856543500000000, 0, 1 +5.856698750000000, 1, 1 +5.857257499999999, 0, 1 +5.857877750000000, 1, 1 +5.858436999999999, 0, 1 +5.859056250000000, 1, 1 +5.859619500000000, 0, 1 +5.860240249999999, 1, 1 +5.860800500000000, 0, 1 +5.861422250000000, 1, 1 +5.861980500000000, 0, 1 +5.862602000000000, 1, 1 +5.863157999999999, 0, 1 +5.863776000000000, 1, 1 +5.864331000000000, 0, 1 +5.864945500000000, 1, 1 +5.865495999999999, 0, 1 +5.866107250000000, 1, 1 +5.866656750000000, 0, 1 +5.869410750000000, 1, 1 +5.870120000000000, 0, 1 +5.870725500000000, 1, 1 +5.871272750000000, 0, 1 +5.871879250000000, 1, 1 +5.872425000000000, 0, 1 +5.873031750000000, 1, 1 +5.873577750000000, 0, 1 +5.874184500000000, 1, 1 +5.874731499999999, 0, 1 +5.875341000000000, 1, 1 +5.875887750000000, 0, 1 +5.876498750000000, 1, 1 +5.877049250000000, 0, 1 +5.877663000000000, 1, 1 +5.878213750000000, 0, 1 +5.878830000000000, 1, 1 +5.879382750000000, 0, 1 +5.880000000000000, 1, 1 +5.880554500000000, 0, 1 +5.881171500000000, 1, 1 +5.881725250000000, 0, 1 +5.882342500000000, 1, 1 +5.882894500000000, 0, 1 +5.883512500000000, 1, 1 +5.884061750000000, 0, 1 +5.884675750000000, 1, 1 +5.885226250000000, 0, 1 +5.885836750000000, 1, 1 +5.886384749999999, 0, 1 +5.886993250000000, 1, 1 +5.887538250000000, 0, 1 +5.888145000000000, 1, 1 +5.888689250000000, 0, 1 +5.890224750000000, 1, 1 +5.890988999999999, 0, 1 +5.891589499999999, 1, 1 +5.892135250000000, 0, 1 +5.892738250000000, 1, 1 +5.893282500000000, 0, 1 +5.893885000000000, 1, 1 +5.894430499999999, 0, 1 +5.895033499999999, 1, 1 +5.895578749999999, 0, 1 +5.896182749999999, 1, 1 +5.896729750000000, 0, 1 +5.897336500000000, 1, 1 +5.897503250000000, 1, 0 +5.897884500000000, 0, 0 +5.898492750000000, 1, 0 +5.899043499999999, 0, 0 +5.899611000000000, 0, 1 +5.899611250000000, 0, 0 +5.899655249999999, 1, 0 +5.900206750000000, 0, 0 +5.900818000000000, 1, 0 +5.901373500000000, 0, 0 +5.901985250000000, 1, 0 +5.902537750000000, 0, 0 +5.903151500000000, 1, 0 +5.903702249999999, 0, 0 +5.904316000000000, 1, 0 +5.904866999999999, 0, 0 +5.905480750000000, 1, 0 +5.906034000000000, 0, 0 +5.906649000000000, 1, 0 +5.907202000000000, 0, 0 +5.907818750000000, 1, 0 +5.908373750000000, 0, 0 +5.911174500000000, 1, 0 +5.911897750000000, 0, 0 +5.912515000000000, 1, 0 +5.913072750000000, 0, 0 +5.913690250000000, 1, 0 +5.914245999999999, 0, 0 +5.914862500000000, 1, 0 +5.915417000000000, 0, 0 +5.916032000000000, 1, 0 +5.916586250000000, 0, 0 +5.917202250000000, 1, 0 +5.917755000000000, 0, 0 +5.918371749999999, 1, 0 +5.918926250000000, 0, 0 +5.919544000000000, 1, 0 +5.920098250000000, 0, 0 +5.920717250000000, 1, 0 +5.921272750000000, 0, 0 +5.921892250000000, 1, 0 +5.922449500000000, 0, 0 +5.923069250000000, 1, 0 +5.923626000000000, 0, 0 +5.924246249999999, 1, 0 +5.924801250000000, 0, 0 +5.925422500000000, 1, 0 +5.925975999999999, 0, 0 +5.926594250000000, 1, 0 +5.927149000000000, 0, 0 +5.927764499999999, 1, 0 +5.928317250000000, 0, 0 +5.928930750000000, 1, 0 +5.929479750000000, 0, 0 +5.930090750000000, 1, 0 +5.930638249999999, 0, 0 +5.932181750000000, 1, 0 +5.932947500000000, 0, 0 +5.933549250000000, 1, 0 +5.934096250000000, 0, 0 +5.934699999999999, 1, 0 +5.935244750000000, 0, 0 +5.935847000000000, 1, 0 +5.936392499999999, 0, 0 +5.936995000000000, 1, 0 +5.937539249999999, 0, 0 +5.938142000000000, 1, 0 +5.938687000000000, 0, 0 +5.939291750000000, 1, 0 +5.939837499999999, 0, 0 +5.940298500000000, 0, 1 +5.940443500000000, 1, 1 +5.940992250000000, 0, 1 +5.941601500000000, 1, 1 +5.942151750000000, 0, 1 +5.942762249999999, 1, 1 +5.943317500000000, 0, 1 +5.943930000000000, 1, 1 +5.944484500000000, 0, 1 +5.945100249999999, 1, 1 +5.945653750000000, 0, 1 +5.946270750000000, 1, 1 +5.946824500000000, 0, 1 +5.947441000000000, 1, 1 +5.947995750000000, 0, 1 +5.948611000000000, 1, 1 +5.949162750000000, 0, 1 +5.949776249999999, 1, 1 +5.950327250000000, 0, 1 +5.953094750000000, 1, 1 +5.953808749999999, 0, 1 +5.954418250000000, 1, 1 +5.954968249999999, 0, 1 +5.955578000000000, 1, 1 +5.956126500000000, 0, 1 +5.956735750000000, 1, 1 +5.957283500000000, 0, 1 +5.957891500000000, 1, 1 +5.958439750000000, 0, 1 +5.959048999999999, 1, 1 +5.959595750000000, 0, 1 +5.960205750000000, 1, 1 +5.960754750000000, 0, 1 +5.961366249999999, 1, 1 +5.961914999999999, 0, 1 +5.962529249999999, 1, 1 +5.963079500000000, 0, 1 +5.963693999999999, 1, 1 +5.964246500000000, 0, 1 +5.964861500000000, 1, 1 +5.965414000000000, 0, 1 +5.966029499999999, 1, 1 +5.966580500000000, 0, 1 +5.967197500000000, 1, 1 +5.967747000000000, 0, 1 +5.968360499999999, 1, 1 +5.968911749999999, 0, 1 +5.969523250000000, 1, 1 +5.970072500000000, 0, 1 +5.970682000000000, 1, 1 +5.971228249999999, 0, 1 +5.971835749999999, 1, 1 +5.972380500000000, 0, 1 +5.973916000000000, 1, 1 +5.974679000000000, 0, 1 +5.975278749999999, 1, 1 +5.975823999999999, 0, 1 +5.976426000000000, 1, 1 +5.976969749999999, 0, 1 +5.977570750000000, 1, 1 +5.978115750000000, 0, 1 +5.978718000000000, 1, 1 +5.979262749999999, 0, 1 +5.979865999999999, 1, 1 +5.980412750000000, 0, 1 +5.981018750000000, 1, 1 +5.981177000000000, 1, 0 +5.981566000000000, 0, 0 +5.982173500000000, 1, 0 +5.982724000000000, 0, 0 +5.983334999999999, 1, 0 +5.983886249999999, 0, 0 +5.984497250000000, 1, 0 +5.985052749999999, 0, 0 +5.985664750000000, 1, 0 +5.986218000000000, 0, 0 +5.986831749999999, 1, 0 +5.987383250000000, 0, 0 +5.987998000000000, 1, 0 +5.988550000000000, 0, 0 +5.989165000000000, 1, 0 +5.989719249999999, 0, 0 +5.990336000000000, 1, 0 +5.990890500000000, 0, 0 +5.991508749999999, 1, 0 +5.992066749999999, 0, 0 +5.994883499999999, 1, 0 +5.995614250000000, 0, 0 +5.996237000000000, 1, 0 +5.996800749999999, 0, 0 +5.997424750000000, 1, 0 +5.997986500000000, 0, 0 +5.998609750000000, 1, 0 +5.999171000000000, 0, 0 +5.999792750000000, 1, 0 +6.000354000000000, 0, 0 +6.000977250000000, 1, 0 +6.001537500000000, 0, 0 +6.002161249999999, 1, 0 +6.002723250000000, 0, 0 +6.003348750000000, 1, 0 +6.003909750000000, 0, 0 +6.004537000000000, 1, 0 +6.005099749999999, 0, 0 +6.005727250000000, 1, 0 +6.006291500000000, 0, 0 +6.006918750000000, 1, 0 +6.007482749999999, 0, 0 +6.008110750000000, 1, 0 +6.008672499999999, 0, 0 +6.009301250000000, 1, 0 +6.009860499999999, 0, 0 +6.010484750000000, 1, 0 +6.011044500000000, 0, 0 +6.011665250000000, 1, 0 +6.012221750000000, 0, 0 +6.012839500000000, 1, 0 +6.013392250000000, 0, 0 +6.014007749999999, 1, 0 +6.014559750000000, 0, 0 +6.016115500000000, 1, 0 +6.016888750000000, 0, 0 +6.017495750000000, 1, 0 +6.018047999999999, 0, 0 +6.018657000000000, 1, 0 +6.019207499999999, 0, 0 +6.019814999999999, 1, 0 +6.020365750000000, 0, 0 +6.020974250000000, 1, 0 +6.021523750000000, 0, 0 +6.022132249999999, 1, 0 +6.022682500000000, 0, 0 +6.023292500000000, 1, 0 +6.023842999999999, 0, 0 +6.024305750000000, 0, 1 +6.024453750000000, 1, 1 +6.025006500000000, 0, 1 +6.025620000000000, 1, 1 +6.026172750000000, 0, 1 +6.026785500000000, 1, 1 +6.027342249999999, 0, 1 +6.027955749999999, 1, 1 +6.028509499999999, 0, 1 +6.029124250000000, 1, 1 +6.029676500000000, 0, 1 +6.030291500000000, 1, 1 +6.030842499999999, 0, 1 +6.031455999999999, 1, 1 +6.032007999999999, 0, 1 +6.032620250000000, 1, 1 +6.033169500000000, 0, 1 +6.033780250000000, 1, 1 +6.034329250000000, 0, 1 +6.037086250000000, 1, 1 +6.037800499999999, 0, 1 +6.038409000000000, 1, 1 +6.038958750000000, 0, 1 +6.039568999999999, 1, 1 +6.040118250000000, 0, 1 +6.040728750000000, 1, 1 +6.041278500000000, 0, 1 +6.041889500000000, 1, 1 +6.042440999999999, 0, 1 +6.043055250000000, 1, 1 +6.043606250000000, 0, 1 +6.044222000000000, 1, 1 +6.044776499999999, 0, 1 +6.045394750000000, 1, 1 +6.045949750000000, 0, 1 +6.046571000000000, 1, 1 +6.047128000000000, 0, 1 +6.047750250000000, 1, 1 +6.048309250000000, 0, 1 +6.048931749999999, 1, 1 +6.049490250000000, 0, 1 +6.050113000000000, 1, 1 +6.050670250000000, 0, 1 +6.051294500000000, 1, 1 +6.051850500000000, 0, 1 +6.052472000000000, 1, 1 +6.053030499999999, 0, 1 +6.053650500000000, 1, 1 +6.054207250000000, 0, 1 +6.054825999999999, 1, 1 +6.055380000000000, 0, 1 +6.055996500000000, 1, 1 +6.056550000000000, 0, 1 +6.058108499999999, 1, 1 +6.058882250000000, 0, 1 +6.059489750000000, 1, 1 +6.060042250000000, 0, 1 +6.060651500000000, 1, 1 +6.061201500000000, 0, 1 +6.061809250000000, 1, 1 +6.062359750000000, 0, 1 +6.062967749999999, 1, 1 +6.063517249999999, 0, 1 +6.064126000000000, 1, 1 +6.064676250000000, 0, 1 +6.065286500000000, 1, 1 +6.065446750000000, 1, 0 +6.065837500000000, 0, 0 +6.066449000000000, 1, 0 +6.067002500000000, 0, 0 +6.067616999999999, 1, 0 +6.068170750000000, 0, 0 +6.068785249999999, 1, 0 +6.069343249999999, 0, 0 +6.069958499999999, 1, 0 +6.070514250000000, 0, 0 +6.071131250000000, 1, 0 +6.071685749999999, 0, 0 +6.072303750000000, 1, 0 +6.072858750000000, 0, 0 +6.073477500000000, 1, 0 +6.074034750000000, 0, 0 +6.074654750000000, 1, 0 +6.075212250000000, 0, 0 +6.075834250000000, 1, 0 +6.076394500000000, 0, 0 +6.079221250000000, 1, 0 +6.079954250000000, 0, 0 +6.080578999999999, 1, 0 +6.081143500000000, 0, 0 +6.081768750000000, 1, 0 +6.082332000000000, 0, 0 +6.082957000000000, 1, 0 +6.083519000000000, 0, 0 +6.084142500000000, 1, 0 +6.084705000000000, 0, 0 +6.085330000000000, 1, 0 +6.085890750000000, 0, 0 +6.086516000000000, 1, 0 +6.087078750000000, 0, 0 +6.087704749999999, 1, 0 +6.088267249999999, 0, 0 +6.088895249999999, 1, 0 +6.089458749999999, 0, 0 +6.090087250000000, 1, 0 +6.090652749999999, 0, 0 +6.091281250000000, 1, 0 +6.091846500000000, 0, 0 +6.092474999999999, 1, 0 +6.093038500000000, 0, 0 +6.093668249999999, 1, 0 +6.094228250000000, 0, 0 +6.094852250000000, 1, 0 +6.095413000000000, 0, 0 +6.096033750000000, 1, 0 +6.096590000000000, 0, 0 +6.097207750000000, 1, 0 +6.097760000000000, 0, 0 +6.098374750000000, 1, 0 +6.098926250000000, 0, 0 +6.100482500000000, 1, 0 +6.101255000000000, 0, 0 +6.101863000000000, 1, 0 +6.102416499999999, 0, 0 +6.103027750000000, 1, 0 +6.103580500000000, 0, 0 +6.104191999999999, 1, 0 +6.104746749999999, 0, 0 +6.105360249999999, 1, 0 +6.105915250000000, 0, 0 +6.106530750000000, 1, 0 +6.107088000000000, 0, 0 +6.107706500000000, 1, 0 +6.108265500000000, 0, 0 +6.108731250000000, 0, 1 +6.108886500000000, 1, 1 +6.109448500000000, 0, 1 +6.110072750000000, 1, 1 +6.110636250000000, 0, 1 +6.111260750000000, 1, 1 +6.111828500000000, 0, 1 +6.112454250000000, 1, 1 +6.113019749999999, 0, 1 +6.113646999999999, 1, 1 +6.114211249999999, 0, 1 +6.114839249999999, 1, 1 +6.115402250000000, 0, 1 +6.116028750000000, 1, 1 +6.116592250000000, 0, 1 +6.117217249999999, 1, 1 +6.117777750000000, 0, 1 +6.118400500000000, 1, 1 +6.118959250000000, 0, 1 +6.121757750000000, 1, 1 +6.122477249999999, 0, 1 +6.123090500000000, 1, 1 +6.123644250000000, 0, 1 +6.124257249999999, 1, 1 +6.124809000000000, 0, 1 +6.125421500000000, 1, 1 +6.125972249999999, 0, 1 +6.126583999999999, 1, 1 +6.127136000000000, 0, 1 +6.127750000000000, 1, 1 +6.128301250000000, 0, 1 +6.128917000000000, 1, 1 +6.129471499999999, 0, 1 +6.130089750000000, 1, 1 +6.130644999999999, 0, 1 +6.131266500000000, 1, 1 +6.131824000000000, 0, 1 +6.132446250000000, 1, 1 +6.133006249999999, 0, 1 +6.133629500000000, 1, 1 +6.134189000000000, 0, 1 +6.134812500000000, 1, 1 +6.135371000000000, 0, 1 +6.135996500000000, 1, 1 +6.136553250000000, 0, 1 +6.137175500000000, 1, 1 +6.137735250000000, 0, 1 +6.138356750000000, 1, 1 +6.138915000000000, 0, 1 +6.139535500000000, 1, 1 +6.140091000000000, 0, 1 +6.140709500000000, 1, 1 +6.141263749999999, 0, 1 +6.142826500000000, 1, 1 +6.143600999999999, 0, 1 +6.144209750000000, 1, 1 +6.144763500000000, 0, 1 +6.145374250000000, 1, 1 +6.145925750000000, 0, 1 +6.146535500000000, 1, 1 +6.147088750000000, 0, 1 +6.147699250000000, 1, 1 +6.148251750000000, 0, 1 +6.148863749999999, 1, 1 +6.149417250000000, 0, 1 +6.150031500000000, 1, 1 +6.150192250000000, 1, 0 +6.150586250000000, 0, 0 +6.151202000000000, 1, 0 +6.151760749999999, 0, 0 +6.152304249999999, 0, 1 +6.152304500000000, 0, 0 +6.152380249999999, 1, 0 +6.152940000000000, 0, 0 +6.153560250000000, 1, 0 +6.154124250000000, 0, 0 +6.154745750000000, 1, 0 +6.155307000000000, 0, 0 +6.155930250000000, 1, 0 +6.156490499999999, 0, 0 +6.157114750000000, 1, 0 +6.157674999999999, 0, 0 +6.158299500000000, 1, 0 +6.158862249999999, 0, 0 +6.159488000000000, 1, 0 +6.160050750000000, 0, 0 +6.160677499999999, 1, 0 +6.161242499999999, 0, 0 +6.164091750000000, 1, 0 +6.164826499999999, 0, 0 +6.165454749999999, 1, 0 +6.166022000000000, 0, 0 +6.166650250000000, 1, 0 +6.167215750000000, 0, 0 +6.167843000000000, 1, 0 +6.168407500000000, 0, 0 +6.169033250000000, 1, 0 +6.169597500000000, 0, 0 +6.170224750000000, 1, 0 +6.170787750000000, 0, 0 +6.171415499999999, 1, 0 +6.171980500000000, 0, 0 +6.172609000000000, 1, 0 +6.173173250000000, 0, 0 +6.173802999999999, 1, 0 +6.174368749999999, 0, 0 +6.174999499999999, 1, 0 +6.175567000000000, 0, 0 +6.176197999999999, 1, 0 +6.176765500000000, 0, 0 +6.177397000000000, 1, 0 +6.177963000000000, 0, 0 +6.178596750000000, 1, 0 +6.179161000000000, 0, 0 +6.179791499999999, 1, 0 +6.180358500000000, 0, 0 +6.180987500000000, 1, 0 +6.181552000000000, 0, 0 +6.182179000000000, 1, 0 +6.182740750000000, 0, 0 +6.183365750000000, 1, 0 +6.183926000000000, 0, 0 +6.185505000000000, 1, 0 +6.186288500000000, 0, 0 +6.186903999999999, 1, 0 +6.187463250000000, 0, 0 +6.188080250000000, 1, 0 +6.188637000000000, 0, 0 +6.189252000000000, 1, 0 +6.189809250000000, 0, 0 +6.190424000000000, 1, 0 +6.190979500000000, 0, 0 +6.191594750000000, 1, 0 +6.192151500000000, 0, 0 +6.192768750000000, 1, 0 +6.193326500000000, 0, 0 +6.193793749999999, 0, 1 +6.193945250000000, 1, 1 +6.194506250000000, 0, 1 +6.195129250000000, 1, 1 +6.195691500000000, 0, 1 +6.196315500000000, 1, 1 +6.196883750000000, 0, 1 +6.197510250000000, 1, 1 +6.198077250000000, 0, 1 +6.198707000000000, 1, 1 +6.199273250000000, 0, 1 +6.199904249999999, 1, 1 +6.200470000000000, 0, 1 +6.201099500000000, 1, 1 +6.201665500000000, 0, 1 +6.202292500000000, 1, 1 +6.202854749999999, 0, 1 +6.203479499999999, 1, 1 +6.204040500000000, 0, 1 +6.206856250000000, 1, 1 +6.207581750000000, 0, 1 +6.208201750000000, 1, 1 +6.208760750000000, 0, 1 +6.209380749999999, 1, 1 +6.209939250000000, 0, 1 +6.210559249999999, 1, 1 +6.211117000000000, 0, 1 +6.211736500000000, 1, 1 +6.212295000000000, 0, 1 +6.212916500000000, 1, 1 +6.213474000000000, 0, 1 +6.214096000000000, 1, 1 +6.214656250000000, 0, 1 +6.215280750000000, 1, 1 +6.215841250000000, 0, 1 +6.216468250000000, 1, 1 +6.217030500000000, 0, 1 +6.217658750000000, 1, 1 +6.218223000000000, 0, 1 +6.218850750000000, 1, 1 +6.219415000000000, 0, 1 +6.220043500000000, 1, 1 +6.220605750000000, 0, 1 +6.221235000000000, 1, 1 +6.221795750000000, 0, 1 +6.222421250000000, 1, 1 +6.222983750000000, 0, 1 +6.223606750000000, 1, 1 +6.224166250000000, 0, 1 +6.224787249999999, 1, 1 +6.225343500000000, 0, 1 +6.225962500000000, 1, 1 +6.226517749999999, 0, 1 +6.228082000000000, 1, 1 +6.228860249999999, 0, 1 +6.229470750000000, 1, 1 +6.230026000000000, 0, 1 +6.230639000000000, 1, 1 +6.231192500000000, 0, 1 +6.231804250000000, 1, 1 +6.232359250000000, 0, 1 +6.232972250000000, 1, 1 +6.233527000000000, 0, 1 +6.234141500000000, 1, 1 +6.234698250000000, 0, 1 +6.235315500000000, 1, 1 +6.235474500000000, 1, 0 +6.235873750000000, 0, 0 +6.236492999999999, 1, 0 +6.237054250000000, 0, 0 +6.237677499999999, 1, 0 +6.238239750000000, 0, 0 +6.238862999999999, 1, 0 +6.239429250000000, 0, 0 +6.240053750000000, 1, 0 +6.240616999999999, 0, 0 +6.241242499999999, 1, 0 +6.241804500000000, 0, 0 +6.242430499999999, 1, 0 +6.242992000000000, 0, 0 +6.243617500000000, 1, 0 +6.244180999999999, 0, 0 +6.244807750000000, 1, 0 +6.245370250000000, 0, 0 +6.245997000000000, 1, 0 +6.246561750000000, 0, 0 +6.249396500000000, 1, 0 +6.250128500000000, 0, 0 +6.250750999999999, 1, 0 +6.251313000000000, 0, 0 +6.251935250000000, 1, 0 +6.252494749999999, 0, 0 +6.253115999999999, 1, 0 +6.253673750000000, 0, 0 +6.254292749999999, 1, 0 +6.254850999999999, 0, 0 +6.255471000000000, 1, 0 +6.256027749999999, 0, 0 +6.256648750000000, 1, 0 +6.257207500000000, 0, 0 +6.257829750000000, 1, 0 +6.258388249999999, 0, 0 +6.259012750000000, 1, 0 +6.259573250000000, 0, 0 +6.260198500000000, 1, 0 +6.260761250000000, 0, 0 +6.261387500000000, 1, 0 +6.261950250000000, 0, 0 +6.262577749999999, 1, 0 +6.263140000000000, 0, 0 +6.263769500000000, 1, 0 +6.264330500000000, 0, 0 +6.264956750000000, 1, 0 +6.265519749999999, 0, 0 +6.266144000000000, 1, 0 +6.266704000000000, 0, 0 +6.267326499999999, 1, 0 +6.267882999999999, 0, 0 +6.268503000000000, 1, 0 +6.269058750000000, 0, 0 +6.270624750000000, 1, 0 +6.271406499999999, 0, 0 +6.272019500000000, 1, 0 +6.272577000000000, 0, 0 +6.273193249999999, 1, 0 +6.273749500000000, 0, 0 +6.274365000000000, 1, 0 +6.274923250000000, 0, 0 +6.275540250000000, 1, 0 +6.276098250000000, 0, 0 +6.276716250000000, 1, 0 +6.277276000000000, 0, 0 +6.277896999999999, 1, 0 +6.278457500000000, 0, 0 +6.278934000000000, 0, 1 +6.279079749999999, 1, 1 +6.279643249999999, 0, 1 +6.280268749999999, 1, 1 +6.280833250000000, 0, 1 +6.281459249999999, 1, 1 +6.282027750000000, 0, 1 +6.282654249999999, 1, 1 +6.283220750000000, 0, 1 +6.283849000000000, 1, 1 +6.284413250000000, 0, 1 +6.285041000000000, 1, 1 +6.285604250000000, 0, 1 +6.286230000000000, 1, 1 +6.286792750000000, 0, 1 +6.287416749999999, 1, 1 +6.287974999999999, 0, 1 +6.288595000000000, 1, 1 +6.289152750000000, 0, 1 +6.291942000000000, 1, 1 +6.292661250000000, 0, 1 +6.293273500000000, 1, 1 +6.293826250000000, 0, 1 +6.294438749999999, 1, 1 +6.294989750000000, 0, 1 +6.295602000000000, 1, 1 +6.296152500000000, 0, 1 +6.296763500000000, 1, 1 +6.297315250000000, 0, 1 +6.297929500000000, 1, 1 +6.298480750000000, 0, 1 +6.299096749999999, 1, 1 +6.299651250000000, 0, 1 +6.300269999999999, 1, 1 +6.300825499999999, 0, 1 +6.301447749999999, 1, 1 +6.302005749999999, 0, 1 +6.302629000000000, 1, 1 +6.303189250000000, 0, 1 +6.303813250000000, 1, 1 +6.304373000000000, 0, 1 +6.304997250000000, 1, 1 +6.305555999999999, 0, 1 +6.306182000000000, 1, 1 +6.306738750000000, 0, 1 +6.307360750000000, 1, 1 +6.307919750000000, 0, 1 +6.308539499999999, 1, 1 +6.309095500000000, 0, 1 +6.309712999999999, 1, 1 +6.310265999999999, 0, 1 +6.310881750000000, 1, 1 +6.311433750000000, 0, 1 +6.312992250000000, 1, 1 +6.313765500000000, 0, 1 +6.314373750000000, 1, 1 +6.314927500000000, 0, 1 +6.315538249999999, 1, 1 +6.316090000000000, 0, 1 +6.316699750000000, 1, 1 +6.317253000000000, 0, 1 +6.317863750000000, 1, 1 +6.318416249999999, 0, 1 +6.319027999999999, 1, 1 +6.319582250000000, 0, 1 +6.320196500000000, 1, 1 +6.320360249999999, 1, 0 +6.320751500000000, 0, 0 +6.321367000000000, 1, 0 +6.321924750000000, 0, 0 +6.322543500000000, 1, 0 +6.323102000000000, 0, 0 +6.323720499999999, 1, 0 +6.324282750000000, 0, 0 +6.324902499999999, 1, 0 +6.325461499999999, 0, 0 +6.326082250000000, 1, 0 +6.326640250000000, 0, 0 +6.327262250000000, 1, 0 +6.327820249999999, 0, 0 +6.328442750000000, 1, 0 +6.329003750000000, 0, 0 +6.329628000000000, 1, 0 +6.330189750000000, 0, 0 +6.330815500000000, 1, 0 +6.331379999999999, 0, 0 +6.334228250000000, 1, 0 +6.334968500000000, 0, 0 +6.335598500000000, 1, 0 +6.336167499999999, 0, 0 +6.336798500000000, 1, 0 +6.337367000000000, 0, 0 +6.337998000000000, 1, 0 +6.338565750000000, 0, 0 +6.339195500000000, 1, 0 +6.339764250000000, 0, 0 +6.340395249999999, 1, 0 +6.340962999999999, 0, 0 +6.341595000000000, 1, 0 +6.342164500000000, 0, 0 +6.342797750000000, 1, 0 +6.343367000000000, 0, 0 +6.344002250000000, 1, 0 +6.344572500000000, 0, 0 +6.345208250000000, 1, 0 +6.345780000000000, 0, 0 +6.346415749999999, 1, 0 +6.346987250000000, 0, 0 +6.347623749999999, 1, 0 +6.348193999999999, 0, 0 +6.348831750000000, 1, 0 +6.349399750000000, 0, 0 +6.350033499999999, 1, 0 +6.350603250000000, 0, 0 +6.351234499999999, 1, 0 +6.351800750000000, 0, 0 +6.352429250000000, 1, 0 +6.352991250000000, 0, 0 +6.353616750000000, 1, 0 +6.354177249999999, 0, 0 +6.355757499999999, 1, 0 +6.356543500000000, 0, 0 +6.357160749999999, 1, 0 +6.357721750000000, 0, 0 +6.358340500000000, 1, 0 +6.358899249999999, 0, 0 +6.359516750000000, 1, 0 +6.360076500000000, 0, 0 +6.360694250000000, 1, 0 +6.361252500000000, 0, 0 +6.361871000000000, 1, 0 +6.362430000000000, 0, 0 +6.363049750000000, 1, 0 +6.363609250000000, 0, 0 +6.364073500000000, 0, 1 +6.364229500000000, 1, 1 +6.364791250000000, 0, 1 +6.365414500000000, 1, 1 +6.365976750000000, 0, 1 +6.366599250000000, 1, 1 +6.367165500000000, 0, 1 +6.367789000000000, 1, 1 +6.368351750000000, 0, 1 +6.368976500000000, 1, 1 +6.369537500000000, 0, 1 +6.370162000000000, 1, 1 +6.370722250000000, 0, 1 +6.371344750000000, 1, 1 +6.371905000000000, 0, 1 +6.372526250000000, 1, 1 +6.373082500000000, 0, 1 +6.373701250000000, 1, 1 +6.374256000000000, 0, 1 +6.377038250000000, 1, 1 +6.377755000000000, 0, 1 +6.378367250000000, 1, 1 +6.378920000000000, 0, 1 +6.379533749999999, 1, 1 +6.380086500000000, 0, 1 +6.380701250000000, 1, 1 +6.381254500000000, 0, 1 +6.381870500000000, 1, 1 +6.382426000000000, 0, 1 +6.383045000000000, 1, 1 +6.383601250000000, 0, 1 +6.384222500000000, 1, 1 +6.384782250000000, 0, 1 +6.385406750000000, 1, 1 +6.385967750000000, 0, 1 +6.386595499999999, 1, 1 +6.387159000000000, 0, 1 +6.387788250000000, 1, 1 +6.388354000000000, 0, 1 +6.388984250000000, 1, 1 +6.389550250000000, 0, 1 +6.390181249999999, 1, 1 +6.390746249999999, 0, 1 +6.391379499999999, 1, 1 +6.391942999999999, 0, 1 +6.392572749999999, 1, 1 +6.393139250000000, 0, 1 +6.393767250000000, 1, 1 +6.394331250000000, 0, 1 +6.394957250000000, 1, 1 +6.395517750000000, 0, 1 +6.396141000000000, 1, 1 +6.396700000000000, 0, 1 +6.398274499999999, 1, 1 +6.399055750000000, 0, 1 +6.399669250000000, 1, 1 +6.400227500000000, 0, 1 +6.400843249999999, 1, 1 +6.401398749999999, 0, 1 +6.402012750000000, 1, 1 +6.402569499999999, 0, 1 +6.403184749999999, 1, 1 +6.403741000000000, 0, 1 +6.404357500000000, 1, 1 +6.404915500000000, 0, 1 +6.405534250000000, 1, 1 +6.405693500000000, 1, 0 +6.406092999999999, 0, 0 +6.406713000000000, 1, 0 +6.407274750000000, 0, 0 +6.407897750000000, 1, 0 +6.408460000000000, 0, 0 +6.409082750000000, 1, 0 +6.409648750000000, 0, 0 +6.410272000000000, 1, 0 +6.410835250000000, 0, 0 +6.411460500000000, 1, 0 +6.412021750000000, 0, 0 +6.412647499999999, 1, 0 +6.413208500000000, 0, 0 +6.413833500000000, 1, 0 +6.414396249999999, 0, 0 +6.415021749999999, 1, 0 +6.415583000000000, 0, 0 +6.416208000000000, 1, 0 +6.416770499999999, 0, 0 +6.419593500000000, 1, 0 +6.420321250000000, 0, 0 +6.420941500000000, 1, 0 +6.421501000000000, 0, 0 +6.422120749999999, 1, 0 +6.422677999999999, 0, 0 +6.423296750000000, 1, 0 +6.423853250000000, 0, 0 +6.424470250000000, 1, 0 +6.425027249999999, 0, 0 +6.425646749999999, 1, 0 +6.426202750000000, 0, 0 +6.426823499999999, 1, 0 +6.427383000000000, 0, 0 +6.428006500000000, 1, 0 +6.428566500000000, 0, 0 +6.429193250000000, 1, 0 +6.429755750000000, 0, 0 +6.430383750000000, 1, 0 +6.430949000000000, 0, 0 +6.431577750000000, 1, 0 +6.432142750000000, 0, 0 +6.432772249999999, 1, 0 +6.433336000000000, 0, 0 +6.433966750000000, 1, 0 +6.434528500000000, 0, 0 +6.435155500000000, 1, 0 +6.435719000000000, 0, 0 +6.436343249999999, 1, 0 +6.436903750000000, 0, 0 +6.437526000000000, 1, 0 +6.438082750000000, 0, 0 +6.438702500000000, 1, 0 +6.439258250000000, 0, 0 +6.440824750000000, 1, 0 +6.441605249999999, 0, 0 +6.442217749999999, 1, 0 +6.442774750000000, 0, 0 +6.443390249999999, 1, 0 +6.443945750000000, 0, 0 +6.444560249999999, 1, 0 +6.445117750000000, 0, 0 +6.445733499999999, 1, 0 +6.446290749999999, 0, 0 +6.446908250000000, 1, 0 +6.447466749999999, 0, 0 +6.448086750000000, 1, 0 +6.448646500000000, 0, 0 +6.449120750000000, 0, 1 +6.449267750000000, 1, 1 +6.449830749999999, 0, 1 +6.450455499999999, 1, 1 +6.451019000000000, 0, 1 +6.451643750000000, 1, 1 +6.452211500000000, 0, 1 +6.452836500000000, 1, 1 +6.453402000000000, 0, 1 +6.454028750000000, 1, 1 +6.454591750000000, 0, 1 +6.455217999999999, 1, 1 +6.455779499999999, 0, 1 +6.456403500000000, 1, 1 +6.456963500000000, 0, 1 +6.457584250000000, 1, 1 +6.458139249999999, 0, 1 +6.458756500000000, 1, 1 +6.459310250000000, 0, 1 +6.462087250000000, 1, 1 +6.462803249999999, 0, 1 +6.463414500000000, 1, 1 +6.463966000000000, 0, 1 +6.464577999999999, 1, 1 +6.465128500000000, 0, 1 +6.465740250000000, 1, 1 +6.466290750000000, 0, 1 +6.466902750000000, 1, 1 +6.467454500000000, 0, 1 +6.468069750000000, 1, 1 +6.468621250000000, 0, 1 +6.469238000000000, 1, 1 +6.469793249999999, 0, 1 +6.470412500000000, 1, 1 +6.470968249999999, 0, 1 +6.471590500000000, 1, 1 +6.472148000000000, 0, 1 +6.472770250000000, 1, 1 +6.473330000000000, 0, 1 +6.473952250000000, 1, 1 +6.474511000000000, 0, 1 +6.475133250000000, 1, 1 +6.475690500000000, 0, 1 +6.476314500000000, 1, 1 +6.476870500000000, 0, 1 +6.477492000000000, 1, 1 +6.478051250000000, 0, 1 +6.478672250000000, 1, 1 +6.479230250000000, 0, 1 +6.479851000000000, 1, 1 +6.480406500000000, 0, 1 +6.481025000000000, 1, 1 +6.481579500000000, 0, 1 +6.483141250000000, 1, 1 +6.483915000000000, 0, 1 +6.484522999999999, 1, 1 +6.485075500000000, 0, 1 +6.485685500000000, 1, 1 +6.486235750000000, 0, 1 +6.486843749999999, 1, 1 +6.487394500000000, 0, 1 +6.488003000000000, 1, 1 +6.488553000000000, 0, 1 +6.489162250000000, 1, 1 +6.489713750000000, 0, 1 +6.490324999999999, 1, 1 +6.490487750000000, 1, 0 +6.490877750000000, 0, 0 +6.491491249999999, 1, 0 +6.492047500000000, 0, 0 +6.492665000000000, 1, 0 +6.493222250000000, 0, 0 +6.493840749999999, 1, 0 +6.494402500000000, 0, 0 +6.495022250000000, 1, 0 +6.495582000000000, 0, 0 +6.496204499999999, 1, 0 +6.496763000000000, 0, 0 +6.497386000000000, 1, 0 +6.497945499999999, 0, 0 +6.498568750000000, 1, 0 +6.499130249999999, 0, 0 +6.499755000000000, 1, 0 +6.500316750000000, 0, 0 +6.500942750000000, 1, 0 +6.501507500000000, 0, 0 +6.504356250000000, 1, 0 +6.505093500000000, 0, 0 +6.505723499999999, 1, 0 +6.506292500000000, 0, 0 \ No newline at end of file diff --git a/unit_tests/tests/trigger/test_real_4b11.cpp b/unit_tests/tests/trigger/test_real_4b11.cpp index 758dcbbb9d..32de9a2c2d 100644 --- a/unit_tests/tests/trigger/test_real_4b11.cpp +++ b/unit_tests/tests/trigger/test_real_4b11.cpp @@ -40,3 +40,37 @@ TEST(real4b11, running) { ASSERT_EQ(0, eth.recentWarnings()->getCount()); } + +TEST(real4b11, runningDoubledEdge) { + CsvReader reader(1, /* vvtCount */ 0); + + // This log has an extra duplicate edge at 5.393782 seconds (hand added) + reader.open("tests/trigger/resources/4b11-running-doubled-edge.csv"); + EngineTestHelper eth(TEST_ENGINE); + engineConfiguration->isFasterEngineSpinUpEnabled = true; + engineConfiguration->alwaysInstantRpm = true; + + eth.setTriggerType(TT_36_2_1); + + int eventCount = 0; + bool gotRpm = false; + + while (reader.haveMore()) { + reader.processLine(ð); + eventCount++; + engine->rpmCalculator.onSlowCallback(); + + auto rpm = Sensor::getOrZero(SensorType::Rpm); + if (!gotRpm && rpm) { + gotRpm = true; + + // We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK + EXPECT_EQ(eventCount, 30); + EXPECT_NEAR(rpm, 1436.23f, 0.1); + } + } + + // Should get a warning for the doubled edge, but NOT one for a trigger error! + ASSERT_EQ(1, eth.recentWarnings()->getCount()); + ASSERT_EQ(CUSTOM_PRIMARY_DOUBLED_EDGE, eth.recentWarnings()->get(0).Code); +}